TPTP Problem File: ITP106^2.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : ITP106^2 : TPTP v8.2.0. Released v7.5.0.
% Domain   : Interactive Theorem Proving
% Problem  : Sledgehammer Localization problem prob_1149__8998378_1
% Version  : Especial.
% English  :

% Refs     : [BH+15] Blanchette et al. (2015), Mining the Archive of Formal
%          : [Des21] Desharnais (2021), Email to Geoff Sutcliffe
% Source   : [Des21]
% Names    : Localization/prob_1149__8998378_1 [Des21]

% Status   : Theorem
% Rating   : 0.33 v8.1.0, 0.50 v7.5.0
% Syntax   : Number of formulae    :  331 (  80 unt;  55 typ;   0 def)
%            Number of atoms       :  757 ( 326 equ;   0 cnn)
%            Maximal formula atoms :   17 (   2 avg)
%            Number of connectives : 8774 (  18   ~;   1   |;  14   &;8315   @)
%                                         (   0 <=>; 426  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   28 (   9 avg)
%            Number of types       :    6 (   5 usr)
%            Number of type conns  :   68 (  68   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :   51 (  50 usr;   8 con; 0-6 aty)
%            Number of variables   :  929 (  10   ^; 851   !;  13   ?; 929   :)
%                                         (  55  !>;   0  ?*;   0  @-;   0  @+)
% SPC      : TH1_THM_EQU_NAR

% Comments : This file was generated by Sledgehammer 2021-02-23 16:25:31.034
%------------------------------------------------------------------------------
% Could-be-implicit typings (11)
thf(ty_t_Congruence_Opartial__object_Opartial__object__ext,type,
    partia1265057091ct_ext: $tType > $tType > $tType ).

thf(ty_t_Congruence_Oeq__object_Oeq__object__ext,type,
    eq_eq_object_ext: $tType > $tType > $tType ).

thf(ty_t_Group_Omonoid_Omonoid__ext,type,
    monoid_ext: $tType > $tType > $tType ).

thf(ty_t_Ring_Oring_Oring__ext,type,
    ring_ext: $tType > $tType > $tType ).

thf(ty_t_Product__Type_Ounit,type,
    product_unit: $tType ).

thf(ty_t_Product__Type_Oprod,type,
    product_prod: $tType > $tType > $tType ).

thf(ty_t_Set_Oset,type,
    set: $tType > $tType ).

thf(ty_t_Nat_Onat,type,
    nat: $tType ).

thf(ty_t_Int_Oint,type,
    int: $tType ).

thf(ty_tf_b,type,
    b: $tType ).

thf(ty_tf_a,type,
    a: $tType ).

% Explicit typings (44)
thf(sy_cl_Groups_Ogroup__add,type,
    group_add: 
      !>[A: $tType] : $o ).

thf(sy_cl_Rings_Osemiring__1,type,
    semiring_1: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Oab__group__add,type,
    ab_group_add: 
      !>[A: $tType] : $o ).

thf(sy_cl_Nat_Osemiring__char__0,type,
    semiring_char_0: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Osemigroup__add,type,
    semigroup_add: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Ocomm__monoid__add,type,
    comm_monoid_add: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Oab__semigroup__add,type,
    ab_semigroup_add: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Ocancel__semigroup__add,type,
    cancel_semigroup_add: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Ocancel__comm__monoid__add,type,
    cancel1352612707id_add: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Ocancel__ab__semigroup__add,type,
    cancel146912293up_add: 
      !>[A: $tType] : $o ).

thf(sy_cl_Groups_Oordered__ab__semigroup__add,type,
    ordere779506340up_add: 
      !>[A: $tType] : $o ).

thf(sy_c_Congruence_Opartial__object_Ocarrier,type,
    partial_carrier: 
      !>[A: $tType,Z: $tType] : ( ( partia1265057091ct_ext @ A @ Z ) > ( set @ A ) ) ).

thf(sy_c_Group_OUnits,type,
    units: 
      !>[A: $tType,B: $tType] : ( ( partia1265057091ct_ext @ A @ ( monoid_ext @ A @ B ) ) > ( set @ A ) ) ).

thf(sy_c_Group_Ocomm__group,type,
    comm_group: 
      !>[A: $tType,B: $tType] : ( ( partia1265057091ct_ext @ A @ ( monoid_ext @ A @ B ) ) > $o ) ).

thf(sy_c_Group_Ogroup,type,
    group: 
      !>[A: $tType,B: $tType] : ( ( partia1265057091ct_ext @ A @ ( monoid_ext @ A @ B ) ) > $o ) ).

thf(sy_c_Group_Omonoid_Omult,type,
    mult: 
      !>[A: $tType,Z: $tType] : ( ( partia1265057091ct_ext @ A @ ( monoid_ext @ A @ Z ) ) > A > A > A ) ).

thf(sy_c_Group_Omonoid_Oone,type,
    one: 
      !>[A: $tType,Z: $tType] : ( ( partia1265057091ct_ext @ A @ ( monoid_ext @ A @ Z ) ) > A ) ).

thf(sy_c_Group_Ounits__of,type,
    units_of: 
      !>[A: $tType,B: $tType] : ( ( partia1265057091ct_ext @ A @ ( monoid_ext @ A @ B ) ) > ( partia1265057091ct_ext @ A @ ( monoid_ext @ A @ product_unit ) ) ) ).

thf(sy_c_Groups_Ominus__class_Ominus,type,
    minus_minus: 
      !>[A: $tType] : ( A > A > A ) ).

thf(sy_c_Groups_Oplus__class_Oplus,type,
    plus_plus: 
      !>[A: $tType] : ( A > A > A ) ).

thf(sy_c_Groups_Ouminus__class_Ouminus,type,
    uminus_uminus: 
      !>[A: $tType] : ( A > A ) ).

thf(sy_c_Nat_OSuc,type,
    suc: nat > nat ).

thf(sy_c_Nat_Osemiring__1__class_Oof__nat,type,
    semiring_1_of_nat: 
      !>[A: $tType] : ( nat > A ) ).

thf(sy_c_Product__Type_OPair,type,
    product_Pair: 
      !>[A: $tType,B: $tType] : ( A > B > ( product_prod @ A @ B ) ) ).

thf(sy_c_Product__Type_Oold_Oprod_Orec__prod,type,
    product_rec_prod: 
      !>[A: $tType,B: $tType,T: $tType] : ( ( A > B > T ) > ( product_prod @ A @ B ) > T ) ).

thf(sy_c_Ring_Oa__inv,type,
    a_inv: 
      !>[A: $tType,M: $tType] : ( ( partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ M ) ) ) > A > A ) ).

thf(sy_c_Ring_Oa__minus,type,
    a_minus: 
      !>[A: $tType,M: $tType] : ( ( partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ M ) ) ) > A > A > A ) ).

thf(sy_c_Ring_Oabelian__group,type,
    abelian_group: 
      !>[A: $tType,B: $tType] : ( ( partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) ) > $o ) ).

thf(sy_c_Ring_Oadd__pow,type,
    add_pow: 
      !>[A: $tType,C: $tType,B: $tType] : ( ( partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ C ) ) ) > B > A > A ) ).

thf(sy_c_Ring_Ofield,type,
    field: 
      !>[A: $tType,B: $tType] : ( ( partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) ) > $o ) ).

thf(sy_c_Ring_Oring_Oadd,type,
    add: 
      !>[A: $tType,Z: $tType] : ( ( partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ Z ) ) ) > A > A > A ) ).

thf(sy_c_Ring_Oring_Omore,type,
    more: 
      !>[A: $tType,Z: $tType] : ( ( partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ Z ) ) ) > Z ) ).

thf(sy_c_Ring_Oring_Ozero,type,
    zero: 
      !>[A: $tType,Z: $tType] : ( ( partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ Z ) ) ) > A ) ).

thf(sy_c_Ring_Osemiring,type,
    semiring: 
      !>[A: $tType,B: $tType] : ( ( partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) ) > $o ) ).

thf(sy_c_Set_OCollect,type,
    collect: 
      !>[A: $tType] : ( ( A > $o ) > ( set @ A ) ) ).

thf(sy_c_member,type,
    member: 
      !>[A: $tType] : ( A > ( set @ A ) > $o ) ).

thf(sy_v_R,type,
    r: partia1265057091ct_ext @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) ).

thf(sy_v_r,type,
    r2: a ).

thf(sy_v_r_H,type,
    r3: a ).

thf(sy_v_r_H_H,type,
    r4: a ).

thf(sy_v_rel,type,
    rel: partia1265057091ct_ext @ ( product_prod @ a @ a ) @ ( eq_eq_object_ext @ ( product_prod @ a @ a ) @ product_unit ) ).

thf(sy_v_s,type,
    s: a ).

thf(sy_v_s_H,type,
    s2: a ).

thf(sy_v_s_H_H,type,
    s3: a ).

% Relevant facts (255)
thf(fact_0_right__add__eq,axiom,
    ! [A2: a,B2: a,C2: a] :
      ( ( A2 = B2 )
     => ( ( add @ a @ b @ r @ C2 @ A2 )
        = ( add @ a @ b @ r @ C2 @ B2 ) ) ) ).

% right_add_eq
thf(fact_1_assms_I3_J,axiom,
    member @ ( product_prod @ a @ a ) @ ( product_Pair @ a @ a @ r4 @ s3 ) @ ( partial_carrier @ ( product_prod @ a @ a ) @ ( eq_eq_object_ext @ ( product_prod @ a @ a ) @ product_unit ) @ rel ) ).

% assms(3)
thf(fact_2_assms_I2_J,axiom,
    member @ ( product_prod @ a @ a ) @ ( product_Pair @ a @ a @ r3 @ s2 ) @ ( partial_carrier @ ( product_prod @ a @ a ) @ ( eq_eq_object_ext @ ( product_prod @ a @ a ) @ product_unit ) @ rel ) ).

% assms(2)
thf(fact_3_assms_I1_J,axiom,
    member @ ( product_prod @ a @ a ) @ ( product_Pair @ a @ a @ r2 @ s ) @ ( partial_carrier @ ( product_prod @ a @ a ) @ ( eq_eq_object_ext @ ( product_prod @ a @ a ) @ product_unit ) @ rel ) ).

% assms(1)
thf(fact_4_closed__rel__add,axiom,
    ! [R: a,S: a,R2: a,S2: a] :
      ( ( member @ ( product_prod @ a @ a ) @ ( product_Pair @ a @ a @ R @ S ) @ ( partial_carrier @ ( product_prod @ a @ a ) @ ( eq_eq_object_ext @ ( product_prod @ a @ a ) @ product_unit ) @ rel ) )
     => ( ( member @ ( product_prod @ a @ a ) @ ( product_Pair @ a @ a @ R2 @ S2 ) @ ( partial_carrier @ ( product_prod @ a @ a ) @ ( eq_eq_object_ext @ ( product_prod @ a @ a ) @ product_unit ) @ rel ) )
       => ( member @ ( product_prod @ a @ a ) @ ( product_Pair @ a @ a @ ( add @ a @ b @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ S2 @ R ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ S @ R2 ) ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ S @ S2 ) ) @ ( partial_carrier @ ( product_prod @ a @ a ) @ ( eq_eq_object_ext @ ( product_prod @ a @ a ) @ product_unit ) @ rel ) ) ) ) ).

% closed_rel_add
thf(fact_5__092_060open_062s_A_092_060otimes_062_As_H_H_A_092_060otimes_062_A_Is_H_A_092_060otimes_062_As_H_H_J_A_061_As_A_092_060otimes_062_A_Is_H_H_A_092_060otimes_062_As_H_J_A_092_060otimes_062_As_H_H_092_060close_062,axiom,
    ( ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ s3 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s2 @ s3 ) )
    = ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s3 @ s2 ) ) @ s3 ) ) ).

% \<open>s \<otimes> s'' \<otimes> (s' \<otimes> s'') = s \<otimes> (s'' \<otimes> s') \<otimes> s''\<close>
thf(fact_6_f9,axiom,
    ( ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ s3 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s2 @ s3 ) )
    = ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ s2 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s3 @ s3 ) ) ) ).

% f9
thf(fact_7__092_060open_062s_A_092_060otimes_062_As_H_H_A_092_060otimes_062_A_Ir_H_A_092_060otimes_062_Ar_H_H_J_A_061_As_H_H_A_092_060otimes_062_As_A_092_060otimes_062_A_Ir_H_A_092_060otimes_062_Ar_H_H_J_092_060close_062,axiom,
    ( ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ s3 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ r3 @ r4 ) )
    = ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s3 @ s ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ r3 @ r4 ) ) ) ).

% \<open>s \<otimes> s'' \<otimes> (r' \<otimes> r'') = s'' \<otimes> s \<otimes> (r' \<otimes> r'')\<close>
thf(fact_8__092_060open_062s_A_092_060otimes_062_As_H_H_A_092_060otimes_062_A_Is_H_A_092_060otimes_062_As_H_H_J_A_092_060otimes_062_A_Is_A_092_060otimes_062_Ar_H_A_092_060otimes_062_Ar_H_H_J_A_061_As_A_092_060otimes_062_As_H_A_092_060otimes_062_As_H_H_A_092_060otimes_062_A_Is_A_092_060otimes_062_As_H_H_A_092_060otimes_062_A_Ir_H_A_092_060otimes_062_Ar_H_H_J_J_092_060close_062,axiom,
    ( ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ s3 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s2 @ s3 ) ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ r3 ) @ r4 ) )
    = ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ s2 ) @ s3 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ s3 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ r3 @ r4 ) ) ) ) ).

% \<open>s \<otimes> s'' \<otimes> (s' \<otimes> s'') \<otimes> (s \<otimes> r' \<otimes> r'') = s \<otimes> s' \<otimes> s'' \<otimes> (s \<otimes> s'' \<otimes> (r' \<otimes> r''))\<close>
thf(fact_9_f10,axiom,
    ( ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ s3 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s2 @ s3 ) ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s2 @ r2 ) @ r4 ) )
    = ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ s2 ) @ s3 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s2 @ s3 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ r2 @ r4 ) ) ) ) ).

% f10
thf(fact_10_f5,axiom,
    member @ ( product_prod @ a @ a ) @ ( product_Pair @ a @ a @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ r3 @ r4 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s2 @ s3 ) ) @ ( partial_carrier @ ( product_prod @ a @ a ) @ ( eq_eq_object_ext @ ( product_prod @ a @ a ) @ product_unit ) @ rel ) ).

% f5
thf(fact_11_f4,axiom,
    member @ ( product_prod @ a @ a ) @ ( product_Pair @ a @ a @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ r2 @ r4 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ s3 ) ) @ ( partial_carrier @ ( product_prod @ a @ a ) @ ( eq_eq_object_ext @ ( product_prod @ a @ a ) @ product_unit ) @ rel ) ).

% f4
thf(fact_12__092_060open_062s_A_092_060otimes_062_As_H_H_A_092_060otimes_062_A_Is_H_A_092_060otimes_062_As_H_H_J_A_092_060otimes_062_A_I_Is_H_A_092_060otimes_062_Ar_A_092_060oplus_062_As_A_092_060otimes_062_Ar_H_J_A_092_060otimes_062_Ar_H_H_J_A_061_As_A_092_060otimes_062_As_H_H_A_092_060otimes_062_A_Is_H_A_092_060otimes_062_As_H_H_J_A_092_060otimes_062_A_Is_H_A_092_060otimes_062_Ar_A_092_060otimes_062_Ar_H_H_A_092_060oplus_062_As_A_092_060otimes_062_Ar_H_A_092_060otimes_062_Ar_H_H_J_092_060close_062,axiom,
    ( ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ s3 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s2 @ s3 ) ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( add @ a @ b @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s2 @ r2 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ r3 ) ) @ r4 ) )
    = ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ s3 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s2 @ s3 ) ) @ ( add @ a @ b @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s2 @ r2 ) @ r4 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ r3 ) @ r4 ) ) ) ) ).

% \<open>s \<otimes> s'' \<otimes> (s' \<otimes> s'') \<otimes> ((s' \<otimes> r \<oplus> s \<otimes> r') \<otimes> r'') = s \<otimes> s'' \<otimes> (s' \<otimes> s'') \<otimes> (s' \<otimes> r \<otimes> r'' \<oplus> s \<otimes> r' \<otimes> r'')\<close>
thf(fact_13__092_060open_062s_A_092_060otimes_062_As_H_H_A_092_060otimes_062_A_Is_H_A_092_060otimes_062_As_H_H_J_A_092_060otimes_062_A_I_Is_H_A_092_060otimes_062_Ar_A_092_060oplus_062_As_A_092_060otimes_062_Ar_H_J_A_092_060otimes_062_Ar_H_H_J_A_061_As_A_092_060otimes_062_As_H_A_092_060otimes_062_As_H_H_A_092_060otimes_062_A_Is_H_A_092_060otimes_062_As_H_H_A_092_060otimes_062_A_Ir_A_092_060otimes_062_Ar_H_H_J_A_092_060oplus_062_As_A_092_060otimes_062_As_H_H_A_092_060otimes_062_A_Ir_H_A_092_060otimes_062_Ar_H_H_J_J_092_060close_062,axiom,
    ( ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ s3 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s2 @ s3 ) ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( add @ a @ b @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s2 @ r2 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ r3 ) ) @ r4 ) )
    = ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ s2 ) @ s3 ) @ ( add @ a @ b @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s2 @ s3 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ r2 @ r4 ) ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ s3 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ r3 @ r4 ) ) ) ) ) ).

% \<open>s \<otimes> s'' \<otimes> (s' \<otimes> s'') \<otimes> ((s' \<otimes> r \<oplus> s \<otimes> r') \<otimes> r'') = s \<otimes> s' \<otimes> s'' \<otimes> (s' \<otimes> s'' \<otimes> (r \<otimes> r'') \<oplus> s \<otimes> s'' \<otimes> (r' \<otimes> r''))\<close>
thf(fact_14_f7,axiom,
    ( ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ s3 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s2 @ s3 ) ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( add @ a @ b @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s2 @ r2 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ r3 ) ) @ r4 ) )
    = ( add @ a @ b @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ s3 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s2 @ s3 ) ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s2 @ r2 ) @ r4 ) ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ s3 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s2 @ s3 ) ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ r3 ) @ r4 ) ) ) ) ).

% f7
thf(fact_15_f8,axiom,
    ( ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ s2 ) @ s3 ) @ ( add @ a @ b @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s2 @ s3 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ r2 @ r4 ) ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ s3 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ r3 @ r4 ) ) ) )
    = ( add @ a @ b @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ s2 ) @ s3 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s2 @ s3 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ r2 @ r4 ) ) ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ s2 ) @ s3 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ s3 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ r3 @ r4 ) ) ) ) ) ).

% f8
thf(fact_16_f12,axiom,
    member @ ( product_prod @ a @ a ) @ ( product_Pair @ a @ a @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( add @ a @ b @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s2 @ r2 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ r3 ) ) @ r4 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ s2 ) @ s3 ) ) @ ( partial_carrier @ ( product_prod @ a @ a ) @ ( eq_eq_object_ext @ ( product_prod @ a @ a ) @ product_unit ) @ rel ) ).

% f12
thf(fact_17_l__distr,axiom,
    ! [X: a,Y: a,Z2: a] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( member @ a @ Y @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( member @ a @ Z2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
         => ( ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( add @ a @ b @ r @ X @ Y ) @ Z2 )
            = ( add @ a @ b @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ X @ Z2 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ Y @ Z2 ) ) ) ) ) ) ).

% l_distr
thf(fact_18_r__distr,axiom,
    ! [X: a,Y: a,Z2: a] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( member @ a @ Y @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( member @ a @ Z2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
         => ( ( mult @ a @ ( ring_ext @ a @ b ) @ r @ Z2 @ ( add @ a @ b @ r @ X @ Y ) )
            = ( add @ a @ b @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ Z2 @ X ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ Z2 @ Y ) ) ) ) ) ) ).

% r_distr
thf(fact_19__092_060open_062s_A_092_060otimes_062_As_H_H_A_092_060otimes_062_A_Is_H_A_092_060otimes_062_As_H_H_J_A_092_060otimes_062_A_I_Is_H_A_092_060otimes_062_Ar_A_092_060oplus_062_As_A_092_060otimes_062_Ar_H_J_A_092_060otimes_062_Ar_H_H_J_A_092_060ominus_062_As_A_092_060otimes_062_As_H_A_092_060otimes_062_As_H_H_A_092_060otimes_062_A_Is_H_A_092_060otimes_062_As_H_H_A_092_060otimes_062_A_Ir_A_092_060otimes_062_Ar_H_H_J_A_092_060oplus_062_As_A_092_060otimes_062_As_H_H_A_092_060otimes_062_A_Ir_H_A_092_060otimes_062_Ar_H_H_J_J_A_061_A_092_060zero_062_092_060close_062,axiom,
    ( ( a_minus @ a @ b @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ s3 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s2 @ s3 ) ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( add @ a @ b @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s2 @ r2 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ r3 ) ) @ r4 ) ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ s2 ) @ s3 ) @ ( add @ a @ b @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s2 @ s3 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ r2 @ r4 ) ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ s3 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ r3 @ r4 ) ) ) ) )
    = ( zero @ a @ b @ r ) ) ).

% \<open>s \<otimes> s'' \<otimes> (s' \<otimes> s'') \<otimes> ((s' \<otimes> r \<oplus> s \<otimes> r') \<otimes> r'') \<ominus> s \<otimes> s' \<otimes> s'' \<otimes> (s' \<otimes> s'' \<otimes> (r \<otimes> r'') \<oplus> s \<otimes> s'' \<otimes> (r' \<otimes> r'')) = \<zero>\<close>
thf(fact_20_prod_Oinject,axiom,
    ! [A: $tType,B: $tType,X1: A,X2: B,Y1: A,Y2: B] :
      ( ( ( product_Pair @ A @ B @ X1 @ X2 )
        = ( product_Pair @ A @ B @ Y1 @ Y2 ) )
      = ( ( X1 = Y1 )
        & ( X2 = Y2 ) ) ) ).

% prod.inject
thf(fact_21_old_Oprod_Oinject,axiom,
    ! [A: $tType,B: $tType,A2: A,B2: B,A3: A,B3: B] :
      ( ( ( product_Pair @ A @ B @ A2 @ B2 )
        = ( product_Pair @ A @ B @ A3 @ B3 ) )
      = ( ( A2 = A3 )
        & ( B2 = B3 ) ) ) ).

% old.prod.inject
thf(fact_22_local_Osemiring__axioms,axiom,
    semiring @ a @ b @ r ).

% local.semiring_axioms
thf(fact_23_m__assoc,axiom,
    ! [X: a,Y: a,Z2: a] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( member @ a @ Y @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( member @ a @ Z2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
         => ( ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ X @ Y ) @ Z2 )
            = ( mult @ a @ ( ring_ext @ a @ b ) @ r @ X @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ Y @ Z2 ) ) ) ) ) ) ).

% m_assoc
thf(fact_24_m__comm,axiom,
    ! [X: a,Y: a] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( member @ a @ Y @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( mult @ a @ ( ring_ext @ a @ b ) @ r @ X @ Y )
          = ( mult @ a @ ( ring_ext @ a @ b ) @ r @ Y @ X ) ) ) ) ).

% m_comm
thf(fact_25_m__lcomm,axiom,
    ! [X: a,Y: a,Z2: a] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( member @ a @ Y @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( member @ a @ Z2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
         => ( ( mult @ a @ ( ring_ext @ a @ b ) @ r @ X @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ Y @ Z2 ) )
            = ( mult @ a @ ( ring_ext @ a @ b ) @ r @ Y @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ X @ Z2 ) ) ) ) ) ) ).

% m_lcomm
thf(fact_26_add_Om__assoc,axiom,
    ! [X: a,Y: a,Z2: a] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( member @ a @ Y @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( member @ a @ Z2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
         => ( ( add @ a @ b @ r @ ( add @ a @ b @ r @ X @ Y ) @ Z2 )
            = ( add @ a @ b @ r @ X @ ( add @ a @ b @ r @ Y @ Z2 ) ) ) ) ) ) ).

% add.m_assoc
thf(fact_27_add_Om__comm,axiom,
    ! [X: a,Y: a] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( member @ a @ Y @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( add @ a @ b @ r @ X @ Y )
          = ( add @ a @ b @ r @ Y @ X ) ) ) ) ).

% add.m_comm
thf(fact_28_add_Om__lcomm,axiom,
    ! [X: a,Y: a,Z2: a] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( member @ a @ Y @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( member @ a @ Z2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
         => ( ( add @ a @ b @ r @ X @ ( add @ a @ b @ r @ Y @ Z2 ) )
            = ( add @ a @ b @ r @ Y @ ( add @ a @ b @ r @ X @ Z2 ) ) ) ) ) ) ).

% add.m_lcomm
thf(fact_29_local_Oright__minus__eq,axiom,
    ! [A2: a,B2: a,C2: a] :
      ( ( A2 = B2 )
     => ( ( a_minus @ a @ b @ r @ C2 @ A2 )
        = ( a_minus @ a @ b @ r @ C2 @ B2 ) ) ) ).

% local.right_minus_eq
thf(fact_30_local_Ominus__unique,axiom,
    ! [Y: a,X: a,Y3: a] :
      ( ( ( add @ a @ b @ r @ Y @ X )
        = ( zero @ a @ b @ r ) )
     => ( ( ( add @ a @ b @ r @ X @ Y3 )
          = ( zero @ a @ b @ r ) )
       => ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
         => ( ( member @ a @ Y @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
           => ( ( member @ a @ Y3 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
             => ( Y = Y3 ) ) ) ) ) ) ).

% local.minus_unique
thf(fact_31_add_Or__inv__ex,axiom,
    ! [X: a] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ? [X3: a] :
          ( ( member @ a @ X3 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
          & ( ( add @ a @ b @ r @ X @ X3 )
            = ( zero @ a @ b @ r ) ) ) ) ).

% add.r_inv_ex
thf(fact_32_add_Oone__unique,axiom,
    ! [U: a] :
      ( ( member @ a @ U @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ! [X3: a] :
            ( ( member @ a @ X3 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
           => ( ( add @ a @ b @ r @ U @ X3 )
              = X3 ) )
       => ( U
          = ( zero @ a @ b @ r ) ) ) ) ).

% add.one_unique
thf(fact_33_add_Ol__inv__ex,axiom,
    ! [X: a] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ? [X3: a] :
          ( ( member @ a @ X3 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
          & ( ( add @ a @ b @ r @ X3 @ X )
            = ( zero @ a @ b @ r ) ) ) ) ).

% add.l_inv_ex
thf(fact_34_add_Oinv__comm,axiom,
    ! [X: a,Y: a] :
      ( ( ( add @ a @ b @ r @ X @ Y )
        = ( zero @ a @ b @ r ) )
     => ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( member @ a @ Y @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
         => ( ( add @ a @ b @ r @ Y @ X )
            = ( zero @ a @ b @ r ) ) ) ) ) ).

% add.inv_comm
thf(fact_35_right__inv__add,axiom,
    ! [A2: a,B2: a,C2: a] :
      ( ( member @ a @ A2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( member @ a @ B2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( member @ a @ C2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
         => ( ( a_minus @ a @ b @ r @ ( a_minus @ a @ b @ r @ C2 @ A2 ) @ B2 )
            = ( a_minus @ a @ b @ r @ C2 @ ( add @ a @ b @ r @ A2 @ B2 ) ) ) ) ) ) ).

% right_inv_add
thf(fact_36_four__elem__comm,axiom,
    ! [A2: a,B2: a,C2: a,D: a] :
      ( ( member @ a @ A2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( member @ a @ B2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( member @ a @ C2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
         => ( ( member @ a @ D @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
           => ( ( a_minus @ a @ b @ r @ ( add @ a @ b @ r @ ( a_minus @ a @ b @ r @ A2 @ C2 ) @ B2 ) @ D )
              = ( a_minus @ a @ b @ r @ ( a_minus @ a @ b @ r @ ( add @ a @ b @ r @ A2 @ B2 ) @ C2 ) @ D ) ) ) ) ) ) ).

% four_elem_comm
thf(fact_37_local_Oadd_Oright__cancel,axiom,
    ! [X: a,Y: a,Z2: a] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( member @ a @ Y @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( member @ a @ Z2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
         => ( ( ( add @ a @ b @ r @ Y @ X )
              = ( add @ a @ b @ r @ Z2 @ X ) )
            = ( Y = Z2 ) ) ) ) ) ).

% local.add.right_cancel
thf(fact_38_add_Om__closed,axiom,
    ! [X: a,Y: a] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( member @ a @ Y @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( member @ a @ ( add @ a @ b @ r @ X @ Y ) @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) ) ) ) ).

% add.m_closed
thf(fact_39_zero__closed,axiom,
    member @ a @ ( zero @ a @ b @ r ) @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) ).

% zero_closed
thf(fact_40_semiring__simprules_I3_J,axiom,
    ! [X: a,Y: a] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( member @ a @ Y @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( member @ a @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ X @ Y ) @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) ) ) ) ).

% semiring_simprules(3)
thf(fact_41_minus__closed,axiom,
    ! [X: a,Y: a] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( member @ a @ Y @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( member @ a @ ( a_minus @ a @ b @ r @ X @ Y ) @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) ) ) ) ).

% minus_closed
thf(fact_42_r__zero,axiom,
    ! [X: a] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( add @ a @ b @ r @ X @ ( zero @ a @ b @ r ) )
        = X ) ) ).

% r_zero
thf(fact_43_l__zero,axiom,
    ! [X: a] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( add @ a @ b @ r @ ( zero @ a @ b @ r ) @ X )
        = X ) ) ).

% l_zero
thf(fact_44_add_Or__cancel__one_H,axiom,
    ! [X: a,A2: a] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( member @ a @ A2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( X
            = ( add @ a @ b @ r @ A2 @ X ) )
          = ( A2
            = ( zero @ a @ b @ r ) ) ) ) ) ).

% add.r_cancel_one'
thf(fact_45_mem__Collect__eq,axiom,
    ! [A: $tType,A2: A,P: A > $o] :
      ( ( member @ A @ A2 @ ( collect @ A @ P ) )
      = ( P @ A2 ) ) ).

% mem_Collect_eq
thf(fact_46_Collect__mem__eq,axiom,
    ! [A: $tType,A4: set @ A] :
      ( ( collect @ A
        @ ^ [X4: A] : ( member @ A @ X4 @ A4 ) )
      = A4 ) ).

% Collect_mem_eq
thf(fact_47_Collect__cong,axiom,
    ! [A: $tType,P: A > $o,Q: A > $o] :
      ( ! [X3: A] :
          ( ( P @ X3 )
          = ( Q @ X3 ) )
     => ( ( collect @ A @ P )
        = ( collect @ A @ Q ) ) ) ).

% Collect_cong
thf(fact_48_ext,axiom,
    ! [B: $tType,A: $tType,F: A > B,G: A > B] :
      ( ! [X3: A] :
          ( ( F @ X3 )
          = ( G @ X3 ) )
     => ( F = G ) ) ).

% ext
thf(fact_49_add_Or__cancel__one,axiom,
    ! [X: a,A2: a] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( member @ a @ A2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( ( add @ a @ b @ r @ A2 @ X )
            = X )
          = ( A2
            = ( zero @ a @ b @ r ) ) ) ) ) ).

% add.r_cancel_one
thf(fact_50_add_Ol__cancel__one_H,axiom,
    ! [X: a,A2: a] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( member @ a @ A2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( X
            = ( add @ a @ b @ r @ X @ A2 ) )
          = ( A2
            = ( zero @ a @ b @ r ) ) ) ) ) ).

% add.l_cancel_one'
thf(fact_51_add_Ol__cancel__one,axiom,
    ! [X: a,A2: a] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( member @ a @ A2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( ( add @ a @ b @ r @ X @ A2 )
            = X )
          = ( A2
            = ( zero @ a @ b @ r ) ) ) ) ) ).

% add.l_cancel_one
thf(fact_52_r__null,axiom,
    ! [X: a] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( mult @ a @ ( ring_ext @ a @ b ) @ r @ X @ ( zero @ a @ b @ r ) )
        = ( zero @ a @ b @ r ) ) ) ).

% r_null
thf(fact_53_l__null,axiom,
    ! [X: a] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( zero @ a @ b @ r ) @ X )
        = ( zero @ a @ b @ r ) ) ) ).

% l_null
thf(fact_54_old_Oprod_Oinducts,axiom,
    ! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,Prod: product_prod @ A @ B] :
      ( ! [A5: A,B4: B] : ( P @ ( product_Pair @ A @ B @ A5 @ B4 ) )
     => ( P @ Prod ) ) ).

% old.prod.inducts
thf(fact_55_old_Oprod_Oexhaust,axiom,
    ! [A: $tType,B: $tType,Y: product_prod @ A @ B] :
      ~ ! [A5: A,B4: B] :
          ( Y
         != ( product_Pair @ A @ B @ A5 @ B4 ) ) ).

% old.prod.exhaust
thf(fact_56_prod__induct7,axiom,
    ! [G2: $tType,F2: $tType,E: $tType,D2: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E @ ( product_prod @ F2 @ G2 ) ) ) ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E @ ( product_prod @ F2 @ G2 ) ) ) ) )] :
      ( ! [A5: A,B4: B,C3: C,D3: D2,E2: E,F3: F2,G3: G2] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E @ ( product_prod @ F2 @ G2 ) ) ) ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E @ ( product_prod @ F2 @ G2 ) ) ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D2 @ ( product_prod @ E @ ( product_prod @ F2 @ G2 ) ) ) @ C3 @ ( product_Pair @ D2 @ ( product_prod @ E @ ( product_prod @ F2 @ G2 ) ) @ D3 @ ( product_Pair @ E @ ( product_prod @ F2 @ G2 ) @ E2 @ ( product_Pair @ F2 @ G2 @ F3 @ G3 ) ) ) ) ) ) )
     => ( P @ X ) ) ).

% prod_induct7
thf(fact_57_prod__induct6,axiom,
    ! [F2: $tType,E: $tType,D2: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E @ F2 ) ) ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E @ F2 ) ) ) )] :
      ( ! [A5: A,B4: B,C3: C,D3: D2,E2: E,F3: F2] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E @ F2 ) ) ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E @ F2 ) ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D2 @ ( product_prod @ E @ F2 ) ) @ C3 @ ( product_Pair @ D2 @ ( product_prod @ E @ F2 ) @ D3 @ ( product_Pair @ E @ F2 @ E2 @ F3 ) ) ) ) ) )
     => ( P @ X ) ) ).

% prod_induct6
thf(fact_58_prod__induct5,axiom,
    ! [E: $tType,D2: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ E ) ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ E ) ) )] :
      ( ! [A5: A,B4: B,C3: C,D3: D2,E2: E] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ E ) ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D2 @ E ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D2 @ E ) @ C3 @ ( product_Pair @ D2 @ E @ D3 @ E2 ) ) ) ) )
     => ( P @ X ) ) ).

% prod_induct5
thf(fact_59_prod__induct4,axiom,
    ! [D2: $tType,C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D2 ) ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D2 ) )] :
      ( ! [A5: A,B4: B,C3: C,D3: D2] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D2 ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ D2 ) @ B4 @ ( product_Pair @ C @ D2 @ C3 @ D3 ) ) ) )
     => ( P @ X ) ) ).

% prod_induct4
thf(fact_60_prod__induct3,axiom,
    ! [C: $tType,B: $tType,A: $tType,P: ( product_prod @ A @ ( product_prod @ B @ C ) ) > $o,X: product_prod @ A @ ( product_prod @ B @ C )] :
      ( ! [A5: A,B4: B,C3: C] : ( P @ ( product_Pair @ A @ ( product_prod @ B @ C ) @ A5 @ ( product_Pair @ B @ C @ B4 @ C3 ) ) )
     => ( P @ X ) ) ).

% prod_induct3
thf(fact_61_prod__cases7,axiom,
    ! [A: $tType,B: $tType,C: $tType,D2: $tType,E: $tType,F2: $tType,G2: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E @ ( product_prod @ F2 @ G2 ) ) ) ) )] :
      ~ ! [A5: A,B4: B,C3: C,D3: D2,E2: E,F3: F2,G3: G2] :
          ( Y
         != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E @ ( product_prod @ F2 @ G2 ) ) ) ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E @ ( product_prod @ F2 @ G2 ) ) ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D2 @ ( product_prod @ E @ ( product_prod @ F2 @ G2 ) ) ) @ C3 @ ( product_Pair @ D2 @ ( product_prod @ E @ ( product_prod @ F2 @ G2 ) ) @ D3 @ ( product_Pair @ E @ ( product_prod @ F2 @ G2 ) @ E2 @ ( product_Pair @ F2 @ G2 @ F3 @ G3 ) ) ) ) ) ) ) ).

% prod_cases7
thf(fact_62_prod__cases6,axiom,
    ! [A: $tType,B: $tType,C: $tType,D2: $tType,E: $tType,F2: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E @ F2 ) ) ) )] :
      ~ ! [A5: A,B4: B,C3: C,D3: D2,E2: E,F3: F2] :
          ( Y
         != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E @ F2 ) ) ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D2 @ ( product_prod @ E @ F2 ) ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D2 @ ( product_prod @ E @ F2 ) ) @ C3 @ ( product_Pair @ D2 @ ( product_prod @ E @ F2 ) @ D3 @ ( product_Pair @ E @ F2 @ E2 @ F3 ) ) ) ) ) ) ).

% prod_cases6
thf(fact_63_prod__cases5,axiom,
    ! [A: $tType,B: $tType,C: $tType,D2: $tType,E: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ E ) ) )] :
      ~ ! [A5: A,B4: B,C3: C,D3: D2,E2: E] :
          ( Y
         != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ ( product_prod @ D2 @ E ) ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ ( product_prod @ D2 @ E ) ) @ B4 @ ( product_Pair @ C @ ( product_prod @ D2 @ E ) @ C3 @ ( product_Pair @ D2 @ E @ D3 @ E2 ) ) ) ) ) ).

% prod_cases5
thf(fact_64_prod__cases4,axiom,
    ! [A: $tType,B: $tType,C: $tType,D2: $tType,Y: product_prod @ A @ ( product_prod @ B @ ( product_prod @ C @ D2 ) )] :
      ~ ! [A5: A,B4: B,C3: C,D3: D2] :
          ( Y
         != ( product_Pair @ A @ ( product_prod @ B @ ( product_prod @ C @ D2 ) ) @ A5 @ ( product_Pair @ B @ ( product_prod @ C @ D2 ) @ B4 @ ( product_Pair @ C @ D2 @ C3 @ D3 ) ) ) ) ).

% prod_cases4
thf(fact_65_prod__cases3,axiom,
    ! [A: $tType,B: $tType,C: $tType,Y: product_prod @ A @ ( product_prod @ B @ C )] :
      ~ ! [A5: A,B4: B,C3: C] :
          ( Y
         != ( product_Pair @ A @ ( product_prod @ B @ C ) @ A5 @ ( product_Pair @ B @ C @ B4 @ C3 ) ) ) ).

% prod_cases3
thf(fact_66_Pair__inject,axiom,
    ! [A: $tType,B: $tType,A2: A,B2: B,A3: A,B3: B] :
      ( ( ( product_Pair @ A @ B @ A2 @ B2 )
        = ( product_Pair @ A @ B @ A3 @ B3 ) )
     => ~ ( ( A2 = A3 )
         => ( B2 != B3 ) ) ) ).

% Pair_inject
thf(fact_67_prod__cases,axiom,
    ! [B: $tType,A: $tType,P: ( product_prod @ A @ B ) > $o,P2: product_prod @ A @ B] :
      ( ! [A5: A,B4: B] : ( P @ ( product_Pair @ A @ B @ A5 @ B4 ) )
     => ( P @ P2 ) ) ).

% prod_cases
thf(fact_68_surj__pair,axiom,
    ! [A: $tType,B: $tType,P2: product_prod @ A @ B] :
    ? [X3: A,Y4: B] :
      ( P2
      = ( product_Pair @ A @ B @ X3 @ Y4 ) ) ).

% surj_pair
thf(fact_69_f11,axiom,
    ( ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( one @ a @ ( ring_ext @ a @ b ) @ r ) @ ( a_minus @ a @ b @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ s3 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s2 @ s3 ) ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( add @ a @ b @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s2 @ r2 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ r3 ) ) @ r4 ) ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ s2 ) @ s3 ) @ ( add @ a @ b @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s2 @ s3 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ r2 @ r4 ) ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ s3 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ r3 @ r4 ) ) ) ) ) )
    = ( zero @ a @ b @ r ) ) ).

% f11
thf(fact_70_semiring_Osemiring__simprules_I11_J,axiom,
    ! [B: $tType,A: $tType,R3: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ),X: A] :
      ( ( semiring @ A @ B @ R3 )
     => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
       => ( ( add @ A @ B @ R3 @ X @ ( zero @ A @ B @ R3 ) )
          = X ) ) ) ).

% semiring.semiring_simprules(11)
thf(fact_71_semiring_Osemiring__simprules_I6_J,axiom,
    ! [B: $tType,A: $tType,R3: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ),X: A] :
      ( ( semiring @ A @ B @ R3 )
     => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
       => ( ( add @ A @ B @ R3 @ ( zero @ A @ B @ R3 ) @ X )
          = X ) ) ) ).

% semiring.semiring_simprules(6)
thf(fact_72_semiring_Ol__null,axiom,
    ! [B: $tType,A: $tType,R3: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ),X: A] :
      ( ( semiring @ A @ B @ R3 )
     => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
       => ( ( mult @ A @ ( ring_ext @ A @ B ) @ R3 @ ( zero @ A @ B @ R3 ) @ X )
          = ( zero @ A @ B @ R3 ) ) ) ) ).

% semiring.l_null
thf(fact_73_semiring_Or__null,axiom,
    ! [B: $tType,A: $tType,R3: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ),X: A] :
      ( ( semiring @ A @ B @ R3 )
     => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
       => ( ( mult @ A @ ( ring_ext @ A @ B ) @ R3 @ X @ ( zero @ A @ B @ R3 ) )
          = ( zero @ A @ B @ R3 ) ) ) ) ).

% semiring.r_null
thf(fact_74_semiring_Or__distr,axiom,
    ! [B: $tType,A: $tType,R3: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ),X: A,Y: A,Z2: A] :
      ( ( semiring @ A @ B @ R3 )
     => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
       => ( ( member @ A @ Y @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
         => ( ( member @ A @ Z2 @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
           => ( ( mult @ A @ ( ring_ext @ A @ B ) @ R3 @ Z2 @ ( add @ A @ B @ R3 @ X @ Y ) )
              = ( add @ A @ B @ R3 @ ( mult @ A @ ( ring_ext @ A @ B ) @ R3 @ Z2 @ X ) @ ( mult @ A @ ( ring_ext @ A @ B ) @ R3 @ Z2 @ Y ) ) ) ) ) ) ) ).

% semiring.r_distr
thf(fact_75_semiring_Ol__distr,axiom,
    ! [B: $tType,A: $tType,R3: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ),X: A,Y: A,Z2: A] :
      ( ( semiring @ A @ B @ R3 )
     => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
       => ( ( member @ A @ Y @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
         => ( ( member @ A @ Z2 @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
           => ( ( mult @ A @ ( ring_ext @ A @ B ) @ R3 @ ( add @ A @ B @ R3 @ X @ Y ) @ Z2 )
              = ( add @ A @ B @ R3 @ ( mult @ A @ ( ring_ext @ A @ B ) @ R3 @ X @ Z2 ) @ ( mult @ A @ ( ring_ext @ A @ B ) @ R3 @ Y @ Z2 ) ) ) ) ) ) ) ).

% semiring.l_distr
thf(fact_76_add__pow__rdistr__int,axiom,
    ! [A2: a,B2: a,K: int] :
      ( ( member @ a @ A2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( member @ a @ B2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( mult @ a @ ( ring_ext @ a @ b ) @ r @ A2 @ ( add_pow @ a @ b @ int @ r @ K @ B2 ) )
          = ( add_pow @ a @ b @ int @ r @ K @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ A2 @ B2 ) ) ) ) ) ).

% add_pow_rdistr_int
thf(fact_77_add__pow__ldistr__int,axiom,
    ! [A2: a,B2: a,K: int] :
      ( ( member @ a @ A2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( member @ a @ B2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( add_pow @ a @ b @ int @ r @ K @ A2 ) @ B2 )
          = ( add_pow @ a @ b @ int @ r @ K @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ A2 @ B2 ) ) ) ) ) ).

% add_pow_ldistr_int
thf(fact_78_inv__unique,axiom,
    ! [Y: a,X: a,Y3: a] :
      ( ( ( mult @ a @ ( ring_ext @ a @ b ) @ r @ Y @ X )
        = ( one @ a @ ( ring_ext @ a @ b ) @ r ) )
     => ( ( ( mult @ a @ ( ring_ext @ a @ b ) @ r @ X @ Y3 )
          = ( one @ a @ ( ring_ext @ a @ b ) @ r ) )
       => ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
         => ( ( member @ a @ Y @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
           => ( ( member @ a @ Y3 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
             => ( Y = Y3 ) ) ) ) ) ) ).

% inv_unique
thf(fact_79_one__unique,axiom,
    ! [U: a] :
      ( ( member @ a @ U @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ! [X3: a] :
            ( ( member @ a @ X3 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
           => ( ( mult @ a @ ( ring_ext @ a @ b ) @ r @ U @ X3 )
              = X3 ) )
       => ( U
          = ( one @ a @ ( ring_ext @ a @ b ) @ r ) ) ) ) ).

% one_unique
thf(fact_80_add_Oint__pow__distrib,axiom,
    ! [X: a,Y: a,I: int] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( member @ a @ Y @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( add_pow @ a @ b @ int @ r @ I @ ( add @ a @ b @ r @ X @ Y ) )
          = ( add @ a @ b @ r @ ( add_pow @ a @ b @ int @ r @ I @ X ) @ ( add_pow @ a @ b @ int @ r @ I @ Y ) ) ) ) ) ).

% add.int_pow_distrib
thf(fact_81_add_Oint__pow__mult__distrib,axiom,
    ! [X: a,Y: a,I: int] :
      ( ( ( add @ a @ b @ r @ X @ Y )
        = ( add @ a @ b @ r @ Y @ X ) )
     => ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( member @ a @ Y @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
         => ( ( add_pow @ a @ b @ int @ r @ I @ ( add @ a @ b @ r @ X @ Y ) )
            = ( add @ a @ b @ r @ ( add_pow @ a @ b @ int @ r @ I @ X ) @ ( add_pow @ a @ b @ int @ r @ I @ Y ) ) ) ) ) ) ).

% add.int_pow_mult_distrib
thf(fact_82_semiring__simprules_I4_J,axiom,
    member @ a @ ( one @ a @ ( ring_ext @ a @ b ) @ r ) @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) ).

% semiring_simprules(4)
thf(fact_83_add_Oint__pow__closed,axiom,
    ! [X: a,I: int] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( member @ a @ ( add_pow @ a @ b @ int @ r @ I @ X ) @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) ) ) ).

% add.int_pow_closed
thf(fact_84_add_Oint__pow__one,axiom,
    ! [Z2: int] :
      ( ( add_pow @ a @ b @ int @ r @ Z2 @ ( zero @ a @ b @ r ) )
      = ( zero @ a @ b @ r ) ) ).

% add.int_pow_one
thf(fact_85_l__one,axiom,
    ! [X: a] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( one @ a @ ( ring_ext @ a @ b ) @ r ) @ X )
        = X ) ) ).

% l_one
thf(fact_86_r__one,axiom,
    ! [X: a] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( mult @ a @ ( ring_ext @ a @ b ) @ r @ X @ ( one @ a @ ( ring_ext @ a @ b ) @ r ) )
        = X ) ) ).

% r_one
thf(fact_87_semiring_Osemiring__simprules_I4_J,axiom,
    ! [B: $tType,A: $tType,R3: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) )] :
      ( ( semiring @ A @ B @ R3 )
     => ( member @ A @ ( one @ A @ ( ring_ext @ A @ B ) @ R3 ) @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) ) ) ).

% semiring.semiring_simprules(4)
thf(fact_88_semiring_Osemiring__simprules_I9_J,axiom,
    ! [B: $tType,A: $tType,R3: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ),X: A] :
      ( ( semiring @ A @ B @ R3 )
     => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
       => ( ( mult @ A @ ( ring_ext @ A @ B ) @ R3 @ ( one @ A @ ( ring_ext @ A @ B ) @ R3 ) @ X )
          = X ) ) ) ).

% semiring.semiring_simprules(9)
thf(fact_89_semiring_Osemiring__simprules_I3_J,axiom,
    ! [B: $tType,A: $tType,R3: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ),X: A,Y: A] :
      ( ( semiring @ A @ B @ R3 )
     => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
       => ( ( member @ A @ Y @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
         => ( member @ A @ ( mult @ A @ ( ring_ext @ A @ B ) @ R3 @ X @ Y ) @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) ) ) ) ) ).

% semiring.semiring_simprules(3)
thf(fact_90_semiring_Osemiring__simprules_I8_J,axiom,
    ! [B: $tType,A: $tType,R3: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ),X: A,Y: A,Z2: A] :
      ( ( semiring @ A @ B @ R3 )
     => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
       => ( ( member @ A @ Y @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
         => ( ( member @ A @ Z2 @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
           => ( ( mult @ A @ ( ring_ext @ A @ B ) @ R3 @ ( mult @ A @ ( ring_ext @ A @ B ) @ R3 @ X @ Y ) @ Z2 )
              = ( mult @ A @ ( ring_ext @ A @ B ) @ R3 @ X @ ( mult @ A @ ( ring_ext @ A @ B ) @ R3 @ Y @ Z2 ) ) ) ) ) ) ) ).

% semiring.semiring_simprules(8)
thf(fact_91_semiring_Osemiring__simprules_I1_J,axiom,
    ! [B: $tType,A: $tType,R3: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ),X: A,Y: A] :
      ( ( semiring @ A @ B @ R3 )
     => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
       => ( ( member @ A @ Y @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
         => ( member @ A @ ( add @ A @ B @ R3 @ X @ Y ) @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) ) ) ) ) ).

% semiring.semiring_simprules(1)
thf(fact_92_semiring_Osemiring__simprules_I5_J,axiom,
    ! [B: $tType,A: $tType,R3: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ),X: A,Y: A,Z2: A] :
      ( ( semiring @ A @ B @ R3 )
     => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
       => ( ( member @ A @ Y @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
         => ( ( member @ A @ Z2 @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
           => ( ( add @ A @ B @ R3 @ ( add @ A @ B @ R3 @ X @ Y ) @ Z2 )
              = ( add @ A @ B @ R3 @ X @ ( add @ A @ B @ R3 @ Y @ Z2 ) ) ) ) ) ) ) ).

% semiring.semiring_simprules(5)
thf(fact_93_semiring_Osemiring__simprules_I7_J,axiom,
    ! [B: $tType,A: $tType,R3: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ),X: A,Y: A] :
      ( ( semiring @ A @ B @ R3 )
     => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
       => ( ( member @ A @ Y @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
         => ( ( add @ A @ B @ R3 @ X @ Y )
            = ( add @ A @ B @ R3 @ Y @ X ) ) ) ) ) ).

% semiring.semiring_simprules(7)
thf(fact_94_semiring_Osemiring__simprules_I12_J,axiom,
    ! [B: $tType,A: $tType,R3: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ),X: A,Y: A,Z2: A] :
      ( ( semiring @ A @ B @ R3 )
     => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
       => ( ( member @ A @ Y @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
         => ( ( member @ A @ Z2 @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
           => ( ( add @ A @ B @ R3 @ X @ ( add @ A @ B @ R3 @ Y @ Z2 ) )
              = ( add @ A @ B @ R3 @ Y @ ( add @ A @ B @ R3 @ X @ Z2 ) ) ) ) ) ) ) ).

% semiring.semiring_simprules(12)
thf(fact_95_semiring_Osemiring__simprules_I2_J,axiom,
    ! [B: $tType,A: $tType,R3: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) )] :
      ( ( semiring @ A @ B @ R3 )
     => ( member @ A @ ( zero @ A @ B @ R3 ) @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) ) ) ).

% semiring.semiring_simprules(2)
thf(fact_96_cring__fieldI2,axiom,
    ( ( ( zero @ a @ b @ r )
     != ( one @ a @ ( ring_ext @ a @ b ) @ r ) )
   => ( ! [A5: a] :
          ( ( member @ a @ A5 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
         => ( ( A5
             != ( zero @ a @ b @ r ) )
           => ? [X5: a] :
                ( ( member @ a @ X5 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
                & ( ( mult @ a @ ( ring_ext @ a @ b ) @ r @ A5 @ X5 )
                  = ( one @ a @ ( ring_ext @ a @ b ) @ r ) ) ) ) )
     => ( field @ a @ b @ r ) ) ) ).

% cring_fieldI2
thf(fact_97_add_Oint__pow__mult,axiom,
    ! [X: a,I: int,J: int] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( add_pow @ a @ b @ int @ r @ ( plus_plus @ int @ I @ J ) @ X )
        = ( add @ a @ b @ r @ ( add_pow @ a @ b @ int @ r @ I @ X ) @ ( add_pow @ a @ b @ int @ r @ J @ X ) ) ) ) ).

% add.int_pow_mult
thf(fact_98_add__pow__ldistr,axiom,
    ! [A2: a,B2: a,K: nat] :
      ( ( member @ a @ A2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( member @ a @ B2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( add_pow @ a @ b @ nat @ r @ K @ A2 ) @ B2 )
          = ( add_pow @ a @ b @ nat @ r @ K @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ A2 @ B2 ) ) ) ) ) ).

% add_pow_ldistr
thf(fact_99_add__pow__rdistr,axiom,
    ! [A2: a,B2: a,K: nat] :
      ( ( member @ a @ A2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( member @ a @ B2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( mult @ a @ ( ring_ext @ a @ b ) @ r @ A2 @ ( add_pow @ a @ b @ nat @ r @ K @ B2 ) )
          = ( add_pow @ a @ b @ nat @ r @ K @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ A2 @ B2 ) ) ) ) ) ).

% add_pow_rdistr
thf(fact_100_old_Oprod_Orec,axiom,
    ! [A: $tType,T: $tType,B: $tType,F1: A > B > T,A2: A,B2: B] :
      ( ( product_rec_prod @ A @ B @ T @ F1 @ ( product_Pair @ A @ B @ A2 @ B2 ) )
      = ( F1 @ A2 @ B2 ) ) ).

% old.prod.rec
thf(fact_101_add_Ogroup__commutes__pow,axiom,
    ! [X: a,Y: a,N: nat] :
      ( ( ( add @ a @ b @ r @ X @ Y )
        = ( add @ a @ b @ r @ Y @ X ) )
     => ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( member @ a @ Y @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
         => ( ( add @ a @ b @ r @ ( add_pow @ a @ b @ nat @ r @ N @ X ) @ Y )
            = ( add @ a @ b @ r @ Y @ ( add_pow @ a @ b @ nat @ r @ N @ X ) ) ) ) ) ) ).

% add.group_commutes_pow
thf(fact_102_add_Opow__mult__distrib,axiom,
    ! [X: a,Y: a,N: nat] :
      ( ( ( add @ a @ b @ r @ X @ Y )
        = ( add @ a @ b @ r @ Y @ X ) )
     => ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( member @ a @ Y @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
         => ( ( add_pow @ a @ b @ nat @ r @ N @ ( add @ a @ b @ r @ X @ Y ) )
            = ( add @ a @ b @ r @ ( add_pow @ a @ b @ nat @ r @ N @ X ) @ ( add_pow @ a @ b @ nat @ r @ N @ Y ) ) ) ) ) ) ).

% add.pow_mult_distrib
thf(fact_103_add_Onat__pow__distrib,axiom,
    ! [X: a,Y: a,N: nat] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( member @ a @ Y @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( add_pow @ a @ b @ nat @ r @ N @ ( add @ a @ b @ r @ X @ Y ) )
          = ( add @ a @ b @ r @ ( add_pow @ a @ b @ nat @ r @ N @ X ) @ ( add_pow @ a @ b @ nat @ r @ N @ Y ) ) ) ) ) ).

% add.nat_pow_distrib
thf(fact_104_add_Onat__pow__comm,axiom,
    ! [X: a,N: nat,M2: nat] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( add @ a @ b @ r @ ( add_pow @ a @ b @ nat @ r @ N @ X ) @ ( add_pow @ a @ b @ nat @ r @ M2 @ X ) )
        = ( add @ a @ b @ r @ ( add_pow @ a @ b @ nat @ r @ M2 @ X ) @ ( add_pow @ a @ b @ nat @ r @ N @ X ) ) ) ) ).

% add.nat_pow_comm
thf(fact_105_add_Onat__pow__closed,axiom,
    ! [X: a,N: nat] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( member @ a @ ( add_pow @ a @ b @ nat @ r @ N @ X ) @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) ) ) ).

% add.nat_pow_closed
thf(fact_106_add_Onat__pow__one,axiom,
    ! [N: nat] :
      ( ( add_pow @ a @ b @ nat @ r @ N @ ( zero @ a @ b @ r ) )
      = ( zero @ a @ b @ r ) ) ).

% add.nat_pow_one
thf(fact_107_one__not__zero,axiom,
    ! [B: $tType,A: $tType,R3: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) )] :
      ( ( field @ A @ B @ R3 )
     => ( ( one @ A @ ( ring_ext @ A @ B ) @ R3 )
       != ( zero @ A @ B @ R3 ) ) ) ).

% one_not_zero
thf(fact_108_integral,axiom,
    ! [B: $tType,A: $tType,R3: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ),A2: A,B2: A] :
      ( ( field @ A @ B @ R3 )
     => ( ( ( mult @ A @ ( ring_ext @ A @ B ) @ R3 @ A2 @ B2 )
          = ( zero @ A @ B @ R3 ) )
       => ( ( member @ A @ A2 @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
         => ( ( member @ A @ B2 @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
           => ( ( A2
                = ( zero @ A @ B @ R3 ) )
              | ( B2
                = ( zero @ A @ B @ R3 ) ) ) ) ) ) ) ).

% integral
thf(fact_109_semiring_Oadd__pow__ldistr,axiom,
    ! [B: $tType,A: $tType,R3: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ),A2: A,B2: A,K: nat] :
      ( ( semiring @ A @ B @ R3 )
     => ( ( member @ A @ A2 @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
       => ( ( member @ A @ B2 @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
         => ( ( mult @ A @ ( ring_ext @ A @ B ) @ R3 @ ( add_pow @ A @ B @ nat @ R3 @ K @ A2 ) @ B2 )
            = ( add_pow @ A @ B @ nat @ R3 @ K @ ( mult @ A @ ( ring_ext @ A @ B ) @ R3 @ A2 @ B2 ) ) ) ) ) ) ).

% semiring.add_pow_ldistr
thf(fact_110_semiring_Oadd__pow__rdistr,axiom,
    ! [B: $tType,A: $tType,R3: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ),A2: A,B2: A,K: nat] :
      ( ( semiring @ A @ B @ R3 )
     => ( ( member @ A @ A2 @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
       => ( ( member @ A @ B2 @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
         => ( ( mult @ A @ ( ring_ext @ A @ B ) @ R3 @ A2 @ ( add_pow @ A @ B @ nat @ R3 @ K @ B2 ) )
            = ( add_pow @ A @ B @ nat @ R3 @ K @ ( mult @ A @ ( ring_ext @ A @ B ) @ R3 @ A2 @ B2 ) ) ) ) ) ) ).

% semiring.add_pow_rdistr
thf(fact_111_add_Onat__pow__mult,axiom,
    ! [X: a,N: nat,M2: nat] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( add @ a @ b @ r @ ( add_pow @ a @ b @ nat @ r @ N @ X ) @ ( add_pow @ a @ b @ nat @ r @ M2 @ X ) )
        = ( add_pow @ a @ b @ nat @ r @ ( plus_plus @ nat @ N @ M2 ) @ X ) ) ) ).

% add.nat_pow_mult
thf(fact_112_add_Onat__pow__Suc2,axiom,
    ! [X: a,N: nat] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( add_pow @ a @ b @ nat @ r @ ( suc @ N ) @ X )
        = ( add @ a @ b @ r @ X @ ( add_pow @ a @ b @ nat @ r @ N @ X ) ) ) ) ).

% add.nat_pow_Suc2
thf(fact_113_add_Opow__eq__div2,axiom,
    ! [X: a,M2: nat,N: nat] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( ( add_pow @ a @ b @ nat @ r @ M2 @ X )
          = ( add_pow @ a @ b @ nat @ r @ N @ X ) )
       => ( ( add_pow @ a @ b @ nat @ r @ ( minus_minus @ nat @ M2 @ N ) @ X )
          = ( zero @ a @ b @ r ) ) ) ) ).

% add.pow_eq_div2
thf(fact_114_minus__to__eq,axiom,
    ! [X: a,Y: a] :
      ( ( abelian_group @ a @ b @ r )
     => ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( member @ a @ Y @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
         => ( ( ( a_minus @ a @ b @ r @ X @ Y )
              = ( zero @ a @ b @ r ) )
           => ( X = Y ) ) ) ) ) ).

% minus_to_eq
thf(fact_115_ring_Oequality,axiom,
    ! [Z: $tType,A: $tType,R: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ Z ) ),R2: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ Z ) )] :
      ( ( ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ Z ) ) @ R )
        = ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ Z ) ) @ R2 ) )
     => ( ( ( mult @ A @ ( ring_ext @ A @ Z ) @ R )
          = ( mult @ A @ ( ring_ext @ A @ Z ) @ R2 ) )
       => ( ( ( one @ A @ ( ring_ext @ A @ Z ) @ R )
            = ( one @ A @ ( ring_ext @ A @ Z ) @ R2 ) )
         => ( ( ( zero @ A @ Z @ R )
              = ( zero @ A @ Z @ R2 ) )
           => ( ( ( add @ A @ Z @ R )
                = ( add @ A @ Z @ R2 ) )
             => ( ( ( more @ A @ Z @ R )
                  = ( more @ A @ Z @ R2 ) )
               => ( R = R2 ) ) ) ) ) ) ) ).

% ring.equality
thf(fact_116_is__abelian__group,axiom,
    abelian_group @ a @ b @ r ).

% is_abelian_group
thf(fact_117_add_Onat__pow__Suc,axiom,
    ! [N: nat,X: a] :
      ( ( add_pow @ a @ b @ nat @ r @ ( suc @ N ) @ X )
      = ( add @ a @ b @ r @ ( add_pow @ a @ b @ nat @ r @ N @ X ) @ X ) ) ).

% add.nat_pow_Suc
thf(fact_118_abelian__groupE_I1_J,axiom,
    ! [B: $tType,A: $tType,R3: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ),X: A,Y: A] :
      ( ( abelian_group @ A @ B @ R3 )
     => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
       => ( ( member @ A @ Y @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
         => ( member @ A @ ( add @ A @ B @ R3 @ X @ Y ) @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) ) ) ) ) ).

% abelian_groupE(1)
thf(fact_119_abelian__groupE_I3_J,axiom,
    ! [B: $tType,A: $tType,R3: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ),X: A,Y: A,Z2: A] :
      ( ( abelian_group @ A @ B @ R3 )
     => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
       => ( ( member @ A @ Y @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
         => ( ( member @ A @ Z2 @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
           => ( ( add @ A @ B @ R3 @ ( add @ A @ B @ R3 @ X @ Y ) @ Z2 )
              = ( add @ A @ B @ R3 @ X @ ( add @ A @ B @ R3 @ Y @ Z2 ) ) ) ) ) ) ) ).

% abelian_groupE(3)
thf(fact_120_abelian__groupE_I4_J,axiom,
    ! [B: $tType,A: $tType,R3: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ),X: A,Y: A] :
      ( ( abelian_group @ A @ B @ R3 )
     => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
       => ( ( member @ A @ Y @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
         => ( ( add @ A @ B @ R3 @ X @ Y )
            = ( add @ A @ B @ R3 @ Y @ X ) ) ) ) ) ).

% abelian_groupE(4)
thf(fact_121_abelian__groupE_I2_J,axiom,
    ! [B: $tType,A: $tType,R3: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) )] :
      ( ( abelian_group @ A @ B @ R3 )
     => ( member @ A @ ( zero @ A @ B @ R3 ) @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) ) ) ).

% abelian_groupE(2)
thf(fact_122_abelian__group_Ominus__closed,axiom,
    ! [B: $tType,A: $tType,G4: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ),X: A,Y: A] :
      ( ( abelian_group @ A @ B @ G4 )
     => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ G4 ) )
       => ( ( member @ A @ Y @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ G4 ) )
         => ( member @ A @ ( a_minus @ A @ B @ G4 @ X @ Y ) @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ G4 ) ) ) ) ) ).

% abelian_group.minus_closed
thf(fact_123_abelian__groupI,axiom,
    ! [B: $tType,A: $tType,R3: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) )] :
      ( ! [X3: A] :
          ( ( member @ A @ X3 @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
         => ! [Y4: A] :
              ( ( member @ A @ Y4 @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
             => ( member @ A @ ( add @ A @ B @ R3 @ X3 @ Y4 ) @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) ) ) )
     => ( ( member @ A @ ( zero @ A @ B @ R3 ) @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
       => ( ! [X3: A] :
              ( ( member @ A @ X3 @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
             => ! [Y4: A] :
                  ( ( member @ A @ Y4 @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
                 => ! [Z3: A] :
                      ( ( member @ A @ Z3 @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
                     => ( ( add @ A @ B @ R3 @ ( add @ A @ B @ R3 @ X3 @ Y4 ) @ Z3 )
                        = ( add @ A @ B @ R3 @ X3 @ ( add @ A @ B @ R3 @ Y4 @ Z3 ) ) ) ) ) )
         => ( ! [X3: A] :
                ( ( member @ A @ X3 @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
               => ! [Y4: A] :
                    ( ( member @ A @ Y4 @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
                   => ( ( add @ A @ B @ R3 @ X3 @ Y4 )
                      = ( add @ A @ B @ R3 @ Y4 @ X3 ) ) ) )
           => ( ! [X3: A] :
                  ( ( member @ A @ X3 @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
                 => ( ( add @ A @ B @ R3 @ ( zero @ A @ B @ R3 ) @ X3 )
                    = X3 ) )
             => ( ! [X3: A] :
                    ( ( member @ A @ X3 @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
                   => ? [Xa: A] :
                        ( ( member @ A @ Xa @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
                        & ( ( add @ A @ B @ R3 @ Xa @ X3 )
                          = ( zero @ A @ B @ R3 ) ) ) )
               => ( abelian_group @ A @ B @ R3 ) ) ) ) ) ) ) ).

% abelian_groupI
thf(fact_124_abelian__groupE_I5_J,axiom,
    ! [B: $tType,A: $tType,R3: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ),X: A] :
      ( ( abelian_group @ A @ B @ R3 )
     => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
       => ( ( add @ A @ B @ R3 @ ( zero @ A @ B @ R3 ) @ X )
          = X ) ) ) ).

% abelian_groupE(5)
thf(fact_125_abelian__groupE_I6_J,axiom,
    ! [B: $tType,A: $tType,R3: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ),X: A] :
      ( ( abelian_group @ A @ B @ R3 )
     => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
       => ? [X3: A] :
            ( ( member @ A @ X3 @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ R3 ) )
            & ( ( add @ A @ B @ R3 @ X3 @ X )
              = ( zero @ A @ B @ R3 ) ) ) ) ) ).

% abelian_groupE(6)
thf(fact_126_abelian__group_Ofour__elem__comm,axiom,
    ! [B: $tType,A: $tType,G4: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ),A2: A,B2: A,C2: A,D: A] :
      ( ( abelian_group @ A @ B @ G4 )
     => ( ( member @ A @ A2 @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ G4 ) )
       => ( ( member @ A @ B2 @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ G4 ) )
         => ( ( member @ A @ C2 @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ G4 ) )
           => ( ( member @ A @ D @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ G4 ) )
             => ( ( a_minus @ A @ B @ G4 @ ( add @ A @ B @ G4 @ ( a_minus @ A @ B @ G4 @ A2 @ C2 ) @ B2 ) @ D )
                = ( a_minus @ A @ B @ G4 @ ( a_minus @ A @ B @ G4 @ ( add @ A @ B @ G4 @ A2 @ B2 ) @ C2 ) @ D ) ) ) ) ) ) ) ).

% abelian_group.four_elem_comm
thf(fact_127_abelian__group_Oright__inv__add,axiom,
    ! [B: $tType,A: $tType,G4: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ),A2: A,B2: A,C2: A] :
      ( ( abelian_group @ A @ B @ G4 )
     => ( ( member @ A @ A2 @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ G4 ) )
       => ( ( member @ A @ B2 @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ G4 ) )
         => ( ( member @ A @ C2 @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ G4 ) )
           => ( ( a_minus @ A @ B @ G4 @ ( a_minus @ A @ B @ G4 @ C2 @ A2 ) @ B2 )
              = ( a_minus @ A @ B @ G4 @ C2 @ ( add @ A @ B @ G4 @ A2 @ B2 ) ) ) ) ) ) ) ).

% abelian_group.right_inv_add
thf(fact_128_abelian__group_Ominus__to__eq,axiom,
    ! [B: $tType,A: $tType,G4: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ),X: A,Y: A] :
      ( ( abelian_group @ A @ B @ G4 )
     => ( ( abelian_group @ A @ B @ G4 )
       => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ G4 ) )
         => ( ( member @ A @ Y @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ G4 ) )
           => ( ( ( a_minus @ A @ B @ G4 @ X @ Y )
                = ( zero @ A @ B @ G4 ) )
             => ( X = Y ) ) ) ) ) ) ).

% abelian_group.minus_to_eq
thf(fact_129_diff__diff__left,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( minus_minus @ nat @ ( minus_minus @ nat @ I @ J ) @ K )
      = ( minus_minus @ nat @ I @ ( plus_plus @ nat @ J @ K ) ) ) ).

% diff_diff_left
thf(fact_130_Suc__diff__diff,axiom,
    ! [M2: nat,N: nat,K: nat] :
      ( ( minus_minus @ nat @ ( minus_minus @ nat @ ( suc @ M2 ) @ N ) @ ( suc @ K ) )
      = ( minus_minus @ nat @ ( minus_minus @ nat @ M2 @ N ) @ K ) ) ).

% Suc_diff_diff
thf(fact_131_diff__Suc__Suc,axiom,
    ! [M2: nat,N: nat] :
      ( ( minus_minus @ nat @ ( suc @ M2 ) @ ( suc @ N ) )
      = ( minus_minus @ nat @ M2 @ N ) ) ).

% diff_Suc_Suc
thf(fact_132_add__Suc__right,axiom,
    ! [M2: nat,N: nat] :
      ( ( plus_plus @ nat @ M2 @ ( suc @ N ) )
      = ( suc @ ( plus_plus @ nat @ M2 @ N ) ) ) ).

% add_Suc_right
thf(fact_133_nat_Oinject,axiom,
    ! [X2: nat,Y2: nat] :
      ( ( ( suc @ X2 )
        = ( suc @ Y2 ) )
      = ( X2 = Y2 ) ) ).

% nat.inject
thf(fact_134_old_Onat_Oinject,axiom,
    ! [Nat: nat,Nat2: nat] :
      ( ( ( suc @ Nat )
        = ( suc @ Nat2 ) )
      = ( Nat = Nat2 ) ) ).

% old.nat.inject
thf(fact_135_Suc__inject,axiom,
    ! [X: nat,Y: nat] :
      ( ( ( suc @ X )
        = ( suc @ Y ) )
     => ( X = Y ) ) ).

% Suc_inject
thf(fact_136_n__not__Suc__n,axiom,
    ! [N: nat] :
      ( N
     != ( suc @ N ) ) ).

% n_not_Suc_n
thf(fact_137_diff__commute,axiom,
    ! [I: nat,J: nat,K: nat] :
      ( ( minus_minus @ nat @ ( minus_minus @ nat @ I @ J ) @ K )
      = ( minus_minus @ nat @ ( minus_minus @ nat @ I @ K ) @ J ) ) ).

% diff_commute
thf(fact_138_add__Suc,axiom,
    ! [M2: nat,N: nat] :
      ( ( plus_plus @ nat @ ( suc @ M2 ) @ N )
      = ( suc @ ( plus_plus @ nat @ M2 @ N ) ) ) ).

% add_Suc
thf(fact_139_nat__arith_Osuc1,axiom,
    ! [A4: nat,K: nat,A2: nat] :
      ( ( A4
        = ( plus_plus @ nat @ K @ A2 ) )
     => ( ( suc @ A4 )
        = ( plus_plus @ nat @ K @ ( suc @ A2 ) ) ) ) ).

% nat_arith.suc1
thf(fact_140_add__Suc__shift,axiom,
    ! [M2: nat,N: nat] :
      ( ( plus_plus @ nat @ ( suc @ M2 ) @ N )
      = ( plus_plus @ nat @ M2 @ ( suc @ N ) ) ) ).

% add_Suc_shift
thf(fact_141_zero__induct__lemma,axiom,
    ! [P: nat > $o,K: nat,I: nat] :
      ( ( P @ K )
     => ( ! [N2: nat] :
            ( ( P @ ( suc @ N2 ) )
           => ( P @ N2 ) )
       => ( P @ ( minus_minus @ nat @ K @ I ) ) ) ) ).

% zero_induct_lemma
thf(fact_142_diff__add__inverse2,axiom,
    ! [M2: nat,N: nat] :
      ( ( minus_minus @ nat @ ( plus_plus @ nat @ M2 @ N ) @ N )
      = M2 ) ).

% diff_add_inverse2
thf(fact_143_diff__add__inverse,axiom,
    ! [N: nat,M2: nat] :
      ( ( minus_minus @ nat @ ( plus_plus @ nat @ N @ M2 ) @ N )
      = M2 ) ).

% diff_add_inverse
thf(fact_144_diff__cancel2,axiom,
    ! [M2: nat,K: nat,N: nat] :
      ( ( minus_minus @ nat @ ( plus_plus @ nat @ M2 @ K ) @ ( plus_plus @ nat @ N @ K ) )
      = ( minus_minus @ nat @ M2 @ N ) ) ).

% diff_cancel2
thf(fact_145_Nat_Odiff__cancel,axiom,
    ! [K: nat,M2: nat,N: nat] :
      ( ( minus_minus @ nat @ ( plus_plus @ nat @ K @ M2 ) @ ( plus_plus @ nat @ K @ N ) )
      = ( minus_minus @ nat @ M2 @ N ) ) ).

% Nat.diff_cancel
thf(fact_146_add__diff__cancel__right_H,axiom,
    ! [A: $tType] :
      ( ( cancel146912293up_add @ A )
     => ! [A2: A,B2: A] :
          ( ( minus_minus @ A @ ( plus_plus @ A @ A2 @ B2 ) @ B2 )
          = A2 ) ) ).

% add_diff_cancel_right'
thf(fact_147_add__diff__cancel__right,axiom,
    ! [A: $tType] :
      ( ( cancel146912293up_add @ A )
     => ! [A2: A,C2: A,B2: A] :
          ( ( minus_minus @ A @ ( plus_plus @ A @ A2 @ C2 ) @ ( plus_plus @ A @ B2 @ C2 ) )
          = ( minus_minus @ A @ A2 @ B2 ) ) ) ).

% add_diff_cancel_right
thf(fact_148_add__diff__cancel__left_H,axiom,
    ! [A: $tType] :
      ( ( cancel146912293up_add @ A )
     => ! [A2: A,B2: A] :
          ( ( minus_minus @ A @ ( plus_plus @ A @ A2 @ B2 ) @ A2 )
          = B2 ) ) ).

% add_diff_cancel_left'
thf(fact_149_add__diff__cancel__left,axiom,
    ! [A: $tType] :
      ( ( cancel146912293up_add @ A )
     => ! [C2: A,A2: A,B2: A] :
          ( ( minus_minus @ A @ ( plus_plus @ A @ C2 @ A2 ) @ ( plus_plus @ A @ C2 @ B2 ) )
          = ( minus_minus @ A @ A2 @ B2 ) ) ) ).

% add_diff_cancel_left
thf(fact_150_add__right__cancel,axiom,
    ! [A: $tType] :
      ( ( cancel_semigroup_add @ A )
     => ! [B2: A,A2: A,C2: A] :
          ( ( ( plus_plus @ A @ B2 @ A2 )
            = ( plus_plus @ A @ C2 @ A2 ) )
          = ( B2 = C2 ) ) ) ).

% add_right_cancel
thf(fact_151_add__left__cancel,axiom,
    ! [A: $tType] :
      ( ( cancel_semigroup_add @ A )
     => ! [A2: A,B2: A,C2: A] :
          ( ( ( plus_plus @ A @ A2 @ B2 )
            = ( plus_plus @ A @ A2 @ C2 ) )
          = ( B2 = C2 ) ) ) ).

% add_left_cancel
thf(fact_152_add__diff__cancel,axiom,
    ! [A: $tType] :
      ( ( group_add @ A )
     => ! [A2: A,B2: A] :
          ( ( minus_minus @ A @ ( plus_plus @ A @ A2 @ B2 ) @ B2 )
          = A2 ) ) ).

% add_diff_cancel
thf(fact_153_diff__add__cancel,axiom,
    ! [A: $tType] :
      ( ( group_add @ A )
     => ! [A2: A,B2: A] :
          ( ( plus_plus @ A @ ( minus_minus @ A @ A2 @ B2 ) @ B2 )
          = A2 ) ) ).

% diff_add_cancel
thf(fact_154_add__right__imp__eq,axiom,
    ! [A: $tType] :
      ( ( cancel_semigroup_add @ A )
     => ! [B2: A,A2: A,C2: A] :
          ( ( ( plus_plus @ A @ B2 @ A2 )
            = ( plus_plus @ A @ C2 @ A2 ) )
         => ( B2 = C2 ) ) ) ).

% add_right_imp_eq
thf(fact_155_add__left__imp__eq,axiom,
    ! [A: $tType] :
      ( ( cancel_semigroup_add @ A )
     => ! [A2: A,B2: A,C2: A] :
          ( ( ( plus_plus @ A @ A2 @ B2 )
            = ( plus_plus @ A @ A2 @ C2 ) )
         => ( B2 = C2 ) ) ) ).

% add_left_imp_eq
thf(fact_156_add_Oleft__commute,axiom,
    ! [A: $tType] :
      ( ( ab_semigroup_add @ A )
     => ! [B2: A,A2: A,C2: A] :
          ( ( plus_plus @ A @ B2 @ ( plus_plus @ A @ A2 @ C2 ) )
          = ( plus_plus @ A @ A2 @ ( plus_plus @ A @ B2 @ C2 ) ) ) ) ).

% add.left_commute
thf(fact_157_add_Ocommute,axiom,
    ! [A: $tType] :
      ( ( ab_semigroup_add @ A )
     => ( ( plus_plus @ A )
        = ( ^ [A6: A,B5: A] : ( plus_plus @ A @ B5 @ A6 ) ) ) ) ).

% add.commute
thf(fact_158_group__add__class_Oadd_Oright__cancel,axiom,
    ! [A: $tType] :
      ( ( group_add @ A )
     => ! [B2: A,A2: A,C2: A] :
          ( ( ( plus_plus @ A @ B2 @ A2 )
            = ( plus_plus @ A @ C2 @ A2 ) )
          = ( B2 = C2 ) ) ) ).

% group_add_class.add.right_cancel
thf(fact_159_add_Oleft__cancel,axiom,
    ! [A: $tType] :
      ( ( group_add @ A )
     => ! [A2: A,B2: A,C2: A] :
          ( ( ( plus_plus @ A @ A2 @ B2 )
            = ( plus_plus @ A @ A2 @ C2 ) )
          = ( B2 = C2 ) ) ) ).

% add.left_cancel
thf(fact_160_add_Oassoc,axiom,
    ! [A: $tType] :
      ( ( semigroup_add @ A )
     => ! [A2: A,B2: A,C2: A] :
          ( ( plus_plus @ A @ ( plus_plus @ A @ A2 @ B2 ) @ C2 )
          = ( plus_plus @ A @ A2 @ ( plus_plus @ A @ B2 @ C2 ) ) ) ) ).

% add.assoc
thf(fact_161_group__cancel_Oadd2,axiom,
    ! [A: $tType] :
      ( ( comm_monoid_add @ A )
     => ! [B6: A,K: A,B2: A,A2: A] :
          ( ( B6
            = ( plus_plus @ A @ K @ B2 ) )
         => ( ( plus_plus @ A @ A2 @ B6 )
            = ( plus_plus @ A @ K @ ( plus_plus @ A @ A2 @ B2 ) ) ) ) ) ).

% group_cancel.add2
thf(fact_162_group__cancel_Oadd1,axiom,
    ! [A: $tType] :
      ( ( comm_monoid_add @ A )
     => ! [A4: A,K: A,A2: A,B2: A] :
          ( ( A4
            = ( plus_plus @ A @ K @ A2 ) )
         => ( ( plus_plus @ A @ A4 @ B2 )
            = ( plus_plus @ A @ K @ ( plus_plus @ A @ A2 @ B2 ) ) ) ) ) ).

% group_cancel.add1
thf(fact_163_add__mono__thms__linordered__semiring_I4_J,axiom,
    ! [A: $tType] :
      ( ( ordere779506340up_add @ A )
     => ! [I: A,J: A,K: A,L: A] :
          ( ( ( I = J )
            & ( K = L ) )
         => ( ( plus_plus @ A @ I @ K )
            = ( plus_plus @ A @ J @ L ) ) ) ) ).

% add_mono_thms_linordered_semiring(4)
thf(fact_164_ab__semigroup__add__class_Oadd__ac_I1_J,axiom,
    ! [A: $tType] :
      ( ( ab_semigroup_add @ A )
     => ! [A2: A,B2: A,C2: A] :
          ( ( plus_plus @ A @ ( plus_plus @ A @ A2 @ B2 ) @ C2 )
          = ( plus_plus @ A @ A2 @ ( plus_plus @ A @ B2 @ C2 ) ) ) ) ).

% ab_semigroup_add_class.add_ac(1)
thf(fact_165_diff__right__commute,axiom,
    ! [A: $tType] :
      ( ( cancel146912293up_add @ A )
     => ! [A2: A,C2: A,B2: A] :
          ( ( minus_minus @ A @ ( minus_minus @ A @ A2 @ C2 ) @ B2 )
          = ( minus_minus @ A @ ( minus_minus @ A @ A2 @ B2 ) @ C2 ) ) ) ).

% diff_right_commute
thf(fact_166_diff__eq__diff__eq,axiom,
    ! [A: $tType] :
      ( ( group_add @ A )
     => ! [A2: A,B2: A,C2: A,D: A] :
          ( ( ( minus_minus @ A @ A2 @ B2 )
            = ( minus_minus @ A @ C2 @ D ) )
         => ( ( A2 = B2 )
            = ( C2 = D ) ) ) ) ).

% diff_eq_diff_eq
thf(fact_167_group__cancel_Osub1,axiom,
    ! [A: $tType] :
      ( ( ab_group_add @ A )
     => ! [A4: A,K: A,A2: A,B2: A] :
          ( ( A4
            = ( plus_plus @ A @ K @ A2 ) )
         => ( ( minus_minus @ A @ A4 @ B2 )
            = ( plus_plus @ A @ K @ ( minus_minus @ A @ A2 @ B2 ) ) ) ) ) ).

% group_cancel.sub1
thf(fact_168_diff__eq__eq,axiom,
    ! [A: $tType] :
      ( ( group_add @ A )
     => ! [A2: A,B2: A,C2: A] :
          ( ( ( minus_minus @ A @ A2 @ B2 )
            = C2 )
          = ( A2
            = ( plus_plus @ A @ C2 @ B2 ) ) ) ) ).

% diff_eq_eq
thf(fact_169_eq__diff__eq,axiom,
    ! [A: $tType] :
      ( ( group_add @ A )
     => ! [A2: A,C2: A,B2: A] :
          ( ( A2
            = ( minus_minus @ A @ C2 @ B2 ) )
          = ( ( plus_plus @ A @ A2 @ B2 )
            = C2 ) ) ) ).

% eq_diff_eq
thf(fact_170_add__diff__eq,axiom,
    ! [A: $tType] :
      ( ( group_add @ A )
     => ! [A2: A,B2: A,C2: A] :
          ( ( plus_plus @ A @ A2 @ ( minus_minus @ A @ B2 @ C2 ) )
          = ( minus_minus @ A @ ( plus_plus @ A @ A2 @ B2 ) @ C2 ) ) ) ).

% add_diff_eq
thf(fact_171_diff__diff__eq2,axiom,
    ! [A: $tType] :
      ( ( group_add @ A )
     => ! [A2: A,B2: A,C2: A] :
          ( ( minus_minus @ A @ A2 @ ( minus_minus @ A @ B2 @ C2 ) )
          = ( minus_minus @ A @ ( plus_plus @ A @ A2 @ C2 ) @ B2 ) ) ) ).

% diff_diff_eq2
thf(fact_172_diff__add__eq,axiom,
    ! [A: $tType] :
      ( ( ab_group_add @ A )
     => ! [A2: A,B2: A,C2: A] :
          ( ( plus_plus @ A @ ( minus_minus @ A @ A2 @ B2 ) @ C2 )
          = ( minus_minus @ A @ ( plus_plus @ A @ A2 @ C2 ) @ B2 ) ) ) ).

% diff_add_eq
thf(fact_173_diff__add__eq__diff__diff__swap,axiom,
    ! [A: $tType] :
      ( ( group_add @ A )
     => ! [A2: A,B2: A,C2: A] :
          ( ( minus_minus @ A @ A2 @ ( plus_plus @ A @ B2 @ C2 ) )
          = ( minus_minus @ A @ ( minus_minus @ A @ A2 @ C2 ) @ B2 ) ) ) ).

% diff_add_eq_diff_diff_swap
thf(fact_174_diff__diff__add,axiom,
    ! [A: $tType] :
      ( ( cancel146912293up_add @ A )
     => ! [A2: A,B2: A,C2: A] :
          ( ( minus_minus @ A @ ( minus_minus @ A @ A2 @ B2 ) @ C2 )
          = ( minus_minus @ A @ A2 @ ( plus_plus @ A @ B2 @ C2 ) ) ) ) ).

% diff_diff_add
thf(fact_175_add__implies__diff,axiom,
    ! [A: $tType] :
      ( ( cancel1352612707id_add @ A )
     => ! [C2: A,B2: A,A2: A] :
          ( ( ( plus_plus @ A @ C2 @ B2 )
            = A2 )
         => ( C2
            = ( minus_minus @ A @ A2 @ B2 ) ) ) ) ).

% add_implies_diff
thf(fact_176_Units__l__inv__ex,axiom,
    ! [X: a] :
      ( ( member @ a @ X @ ( units @ a @ ( ring_ext @ a @ b ) @ r ) )
     => ? [X3: a] :
          ( ( member @ a @ X3 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
          & ( ( mult @ a @ ( ring_ext @ a @ b ) @ r @ X3 @ X )
            = ( one @ a @ ( ring_ext @ a @ b ) @ r ) ) ) ) ).

% Units_l_inv_ex
thf(fact_177_Units__r__inv__ex,axiom,
    ! [X: a] :
      ( ( member @ a @ X @ ( units @ a @ ( ring_ext @ a @ b ) @ r ) )
     => ? [X3: a] :
          ( ( member @ a @ X3 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
          & ( ( mult @ a @ ( ring_ext @ a @ b ) @ r @ X @ X3 )
            = ( one @ a @ ( ring_ext @ a @ b ) @ r ) ) ) ) ).

% Units_r_inv_ex
thf(fact_178_group__l__invI,axiom,
    ( ! [X3: a] :
        ( ( member @ a @ X3 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ? [Xa: a] :
            ( ( member @ a @ Xa @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
            & ( ( mult @ a @ ( ring_ext @ a @ b ) @ r @ Xa @ X3 )
              = ( one @ a @ ( ring_ext @ a @ b ) @ r ) ) ) )
   => ( group @ a @ ( ring_ext @ a @ b ) @ r ) ) ).

% group_l_invI
thf(fact_179_Units__closed,axiom,
    ! [X: a] :
      ( ( member @ a @ X @ ( units @ a @ ( ring_ext @ a @ b ) @ r ) )
     => ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) ) ) ).

% Units_closed
thf(fact_180_Units__inv__comm,axiom,
    ! [X: a,Y: a] :
      ( ( ( mult @ a @ ( ring_ext @ a @ b ) @ r @ X @ Y )
        = ( one @ a @ ( ring_ext @ a @ b ) @ r ) )
     => ( ( member @ a @ X @ ( units @ a @ ( ring_ext @ a @ b ) @ r ) )
       => ( ( member @ a @ Y @ ( units @ a @ ( ring_ext @ a @ b ) @ r ) )
         => ( ( mult @ a @ ( ring_ext @ a @ b ) @ r @ Y @ X )
            = ( one @ a @ ( ring_ext @ a @ b ) @ r ) ) ) ) ) ).

% Units_inv_comm
thf(fact_181_Units__m__closed,axiom,
    ! [X: a,Y: a] :
      ( ( member @ a @ X @ ( units @ a @ ( ring_ext @ a @ b ) @ r ) )
     => ( ( member @ a @ Y @ ( units @ a @ ( ring_ext @ a @ b ) @ r ) )
       => ( member @ a @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ X @ Y ) @ ( units @ a @ ( ring_ext @ a @ b ) @ r ) ) ) ) ).

% Units_m_closed
thf(fact_182_Units__one__closed,axiom,
    member @ a @ ( one @ a @ ( ring_ext @ a @ b ) @ r ) @ ( units @ a @ ( ring_ext @ a @ b ) @ r ) ).

% Units_one_closed
thf(fact_183_Units__l__cancel,axiom,
    ! [X: a,Y: a,Z2: a] :
      ( ( member @ a @ X @ ( units @ a @ ( ring_ext @ a @ b ) @ r ) )
     => ( ( member @ a @ Y @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( member @ a @ Z2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
         => ( ( ( mult @ a @ ( ring_ext @ a @ b ) @ r @ X @ Y )
              = ( mult @ a @ ( ring_ext @ a @ b ) @ r @ X @ Z2 ) )
            = ( Y = Z2 ) ) ) ) ) ).

% Units_l_cancel
thf(fact_184_groupI,axiom,
    ! [B: $tType,A: $tType,G4: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ B )] :
      ( ! [X3: A] :
          ( ( member @ A @ X3 @ ( partial_carrier @ A @ ( monoid_ext @ A @ B ) @ G4 ) )
         => ! [Y4: A] :
              ( ( member @ A @ Y4 @ ( partial_carrier @ A @ ( monoid_ext @ A @ B ) @ G4 ) )
             => ( member @ A @ ( mult @ A @ B @ G4 @ X3 @ Y4 ) @ ( partial_carrier @ A @ ( monoid_ext @ A @ B ) @ G4 ) ) ) )
     => ( ( member @ A @ ( one @ A @ B @ G4 ) @ ( partial_carrier @ A @ ( monoid_ext @ A @ B ) @ G4 ) )
       => ( ! [X3: A] :
              ( ( member @ A @ X3 @ ( partial_carrier @ A @ ( monoid_ext @ A @ B ) @ G4 ) )
             => ! [Y4: A] :
                  ( ( member @ A @ Y4 @ ( partial_carrier @ A @ ( monoid_ext @ A @ B ) @ G4 ) )
                 => ! [Z3: A] :
                      ( ( member @ A @ Z3 @ ( partial_carrier @ A @ ( monoid_ext @ A @ B ) @ G4 ) )
                     => ( ( mult @ A @ B @ G4 @ ( mult @ A @ B @ G4 @ X3 @ Y4 ) @ Z3 )
                        = ( mult @ A @ B @ G4 @ X3 @ ( mult @ A @ B @ G4 @ Y4 @ Z3 ) ) ) ) ) )
         => ( ! [X3: A] :
                ( ( member @ A @ X3 @ ( partial_carrier @ A @ ( monoid_ext @ A @ B ) @ G4 ) )
               => ( ( mult @ A @ B @ G4 @ ( one @ A @ B @ G4 ) @ X3 )
                  = X3 ) )
           => ( ! [X3: A] :
                  ( ( member @ A @ X3 @ ( partial_carrier @ A @ ( monoid_ext @ A @ B ) @ G4 ) )
                 => ? [Xa: A] :
                      ( ( member @ A @ Xa @ ( partial_carrier @ A @ ( monoid_ext @ A @ B ) @ G4 ) )
                      & ( ( mult @ A @ B @ G4 @ Xa @ X3 )
                        = ( one @ A @ B @ G4 ) ) ) )
             => ( group @ A @ B @ G4 ) ) ) ) ) ) ).

% groupI
thf(fact_185_group_Oinv__comm,axiom,
    ! [B: $tType,A: $tType,G4: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ B ),X: A,Y: A] :
      ( ( group @ A @ B @ G4 )
     => ( ( ( mult @ A @ B @ G4 @ X @ Y )
          = ( one @ A @ B @ G4 ) )
       => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ B ) @ G4 ) )
         => ( ( member @ A @ Y @ ( partial_carrier @ A @ ( monoid_ext @ A @ B ) @ G4 ) )
           => ( ( mult @ A @ B @ G4 @ Y @ X )
              = ( one @ A @ B @ G4 ) ) ) ) ) ) ).

% group.inv_comm
thf(fact_186_group_Ol__inv__ex,axiom,
    ! [B: $tType,A: $tType,G4: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ B ),X: A] :
      ( ( group @ A @ B @ G4 )
     => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ B ) @ G4 ) )
       => ? [X3: A] :
            ( ( member @ A @ X3 @ ( partial_carrier @ A @ ( monoid_ext @ A @ B ) @ G4 ) )
            & ( ( mult @ A @ B @ G4 @ X3 @ X )
              = ( one @ A @ B @ G4 ) ) ) ) ) ).

% group.l_inv_ex
thf(fact_187_Group_Ogroup_Oright__cancel,axiom,
    ! [B: $tType,A: $tType,G4: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ B ),X: A,Y: A,Z2: A] :
      ( ( group @ A @ B @ G4 )
     => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ B ) @ G4 ) )
       => ( ( member @ A @ Y @ ( partial_carrier @ A @ ( monoid_ext @ A @ B ) @ G4 ) )
         => ( ( member @ A @ Z2 @ ( partial_carrier @ A @ ( monoid_ext @ A @ B ) @ G4 ) )
           => ( ( ( mult @ A @ B @ G4 @ Y @ X )
                = ( mult @ A @ B @ G4 @ Z2 @ X ) )
              = ( Y = Z2 ) ) ) ) ) ) ).

% Group.group.right_cancel
thf(fact_188_group_OUnits__eq,axiom,
    ! [B: $tType,A: $tType,G4: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ B )] :
      ( ( group @ A @ B @ G4 )
     => ( ( units @ A @ B @ G4 )
        = ( partial_carrier @ A @ ( monoid_ext @ A @ B ) @ G4 ) ) ) ).

% group.Units_eq
thf(fact_189_group_Or__cancel__one_H,axiom,
    ! [B: $tType,A: $tType,G4: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ B ),X: A,A2: A] :
      ( ( group @ A @ B @ G4 )
     => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ B ) @ G4 ) )
       => ( ( member @ A @ A2 @ ( partial_carrier @ A @ ( monoid_ext @ A @ B ) @ G4 ) )
         => ( ( X
              = ( mult @ A @ B @ G4 @ A2 @ X ) )
            = ( A2
              = ( one @ A @ B @ G4 ) ) ) ) ) ) ).

% group.r_cancel_one'
thf(fact_190_group_Ol__cancel__one_H,axiom,
    ! [B: $tType,A: $tType,G4: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ B ),X: A,A2: A] :
      ( ( group @ A @ B @ G4 )
     => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ B ) @ G4 ) )
       => ( ( member @ A @ A2 @ ( partial_carrier @ A @ ( monoid_ext @ A @ B ) @ G4 ) )
         => ( ( X
              = ( mult @ A @ B @ G4 @ X @ A2 ) )
            = ( A2
              = ( one @ A @ B @ G4 ) ) ) ) ) ) ).

% group.l_cancel_one'
thf(fact_191_group_Or__cancel__one,axiom,
    ! [B: $tType,A: $tType,G4: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ B ),X: A,A2: A] :
      ( ( group @ A @ B @ G4 )
     => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ B ) @ G4 ) )
       => ( ( member @ A @ A2 @ ( partial_carrier @ A @ ( monoid_ext @ A @ B ) @ G4 ) )
         => ( ( ( mult @ A @ B @ G4 @ A2 @ X )
              = X )
            = ( A2
              = ( one @ A @ B @ G4 ) ) ) ) ) ) ).

% group.r_cancel_one
thf(fact_192_group_Ol__cancel__one,axiom,
    ! [B: $tType,A: $tType,G4: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ B ),X: A,A2: A] :
      ( ( group @ A @ B @ G4 )
     => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ B ) @ G4 ) )
       => ( ( member @ A @ A2 @ ( partial_carrier @ A @ ( monoid_ext @ A @ B ) @ G4 ) )
         => ( ( ( mult @ A @ B @ G4 @ X @ A2 )
              = X )
            = ( A2
              = ( one @ A @ B @ G4 ) ) ) ) ) ) ).

% group.l_cancel_one
thf(fact_193_group_Or__inv__ex,axiom,
    ! [B: $tType,A: $tType,G4: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ B ),X: A] :
      ( ( group @ A @ B @ G4 )
     => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ B ) @ G4 ) )
       => ? [X3: A] :
            ( ( member @ A @ X3 @ ( partial_carrier @ A @ ( monoid_ext @ A @ B ) @ G4 ) )
            & ( ( mult @ A @ B @ G4 @ X @ X3 )
              = ( one @ A @ B @ G4 ) ) ) ) ) ).

% group.r_inv_ex
thf(fact_194_units__group,axiom,
    group @ a @ product_unit @ ( units_of @ a @ ( ring_ext @ a @ b ) @ r ) ).

% units_group
thf(fact_195_inv__add,axiom,
    ! [A2: a,B2: a] :
      ( ( member @ a @ A2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( member @ a @ B2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( a_inv @ a @ b @ r @ ( add @ a @ b @ r @ A2 @ B2 ) )
          = ( a_minus @ a @ b @ r @ ( a_inv @ a @ b @ r @ A2 ) @ B2 ) ) ) ) ).

% inv_add
thf(fact_196_r__neg2,axiom,
    ! [X: a,Y: a] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( member @ a @ Y @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( add @ a @ b @ r @ X @ ( add @ a @ b @ r @ ( a_inv @ a @ b @ r @ X ) @ Y ) )
          = Y ) ) ) ).

% r_neg2
thf(fact_197_r__neg1,axiom,
    ! [X: a,Y: a] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( member @ a @ Y @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( add @ a @ b @ r @ ( a_inv @ a @ b @ r @ X ) @ ( add @ a @ b @ r @ X @ Y ) )
          = Y ) ) ) ).

% r_neg1
thf(fact_198_local_Ominus__add,axiom,
    ! [X: a,Y: a] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( member @ a @ Y @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( a_inv @ a @ b @ r @ ( add @ a @ b @ r @ X @ Y ) )
          = ( add @ a @ b @ r @ ( a_inv @ a @ b @ r @ X ) @ ( a_inv @ a @ b @ r @ Y ) ) ) ) ) ).

% local.minus_add
thf(fact_199_add_Oinv__solve__right_H,axiom,
    ! [A2: a,B2: a,C2: a] :
      ( ( member @ a @ A2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( member @ a @ B2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( member @ a @ C2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
         => ( ( ( add @ a @ b @ r @ B2 @ ( a_inv @ a @ b @ r @ C2 ) )
              = A2 )
            = ( B2
              = ( add @ a @ b @ r @ A2 @ C2 ) ) ) ) ) ) ).

% add.inv_solve_right'
thf(fact_200_add_Oinv__solve__right,axiom,
    ! [A2: a,B2: a,C2: a] :
      ( ( member @ a @ A2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( member @ a @ B2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( member @ a @ C2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
         => ( ( A2
              = ( add @ a @ b @ r @ B2 @ ( a_inv @ a @ b @ r @ C2 ) ) )
            = ( B2
              = ( add @ a @ b @ r @ A2 @ C2 ) ) ) ) ) ) ).

% add.inv_solve_right
thf(fact_201_add_Oinv__solve__left_H,axiom,
    ! [A2: a,B2: a,C2: a] :
      ( ( member @ a @ A2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( member @ a @ B2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( member @ a @ C2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
         => ( ( ( add @ a @ b @ r @ ( a_inv @ a @ b @ r @ B2 ) @ C2 )
              = A2 )
            = ( C2
              = ( add @ a @ b @ r @ B2 @ A2 ) ) ) ) ) ) ).

% add.inv_solve_left'
thf(fact_202_add_Oinv__solve__left,axiom,
    ! [A2: a,B2: a,C2: a] :
      ( ( member @ a @ A2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( member @ a @ B2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( member @ a @ C2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
         => ( ( A2
              = ( add @ a @ b @ r @ ( a_inv @ a @ b @ r @ B2 ) @ C2 ) )
            = ( C2
              = ( add @ a @ b @ r @ B2 @ A2 ) ) ) ) ) ) ).

% add.inv_solve_left
thf(fact_203_add_Oinv__mult__group,axiom,
    ! [X: a,Y: a] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( member @ a @ Y @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( a_inv @ a @ b @ r @ ( add @ a @ b @ r @ X @ Y ) )
          = ( add @ a @ b @ r @ ( a_inv @ a @ b @ r @ Y ) @ ( a_inv @ a @ b @ r @ X ) ) ) ) ) ).

% add.inv_mult_group
thf(fact_204_a__transpose__inv,axiom,
    ! [X: a,Y: a,Z2: a] :
      ( ( ( add @ a @ b @ r @ X @ Y )
        = Z2 )
     => ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( member @ a @ Y @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
         => ( ( member @ a @ Z2 @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
           => ( ( add @ a @ b @ r @ ( a_inv @ a @ b @ r @ X ) @ Z2 )
              = Y ) ) ) ) ) ).

% a_transpose_inv
thf(fact_205_r__minus,axiom,
    ! [X: a,Y: a] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( member @ a @ Y @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( mult @ a @ ( ring_ext @ a @ b ) @ r @ X @ ( a_inv @ a @ b @ r @ Y ) )
          = ( a_inv @ a @ b @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ X @ Y ) ) ) ) ) ).

% r_minus
thf(fact_206_l__minus,axiom,
    ! [X: a,Y: a] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( member @ a @ Y @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( a_inv @ a @ b @ r @ X ) @ Y )
          = ( a_inv @ a @ b @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ X @ Y ) ) ) ) ) ).

% l_minus
thf(fact_207_add_Onat__pow__inv,axiom,
    ! [X: a,I: nat] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( add_pow @ a @ b @ nat @ r @ I @ ( a_inv @ a @ b @ r @ X ) )
        = ( a_inv @ a @ b @ r @ ( add_pow @ a @ b @ nat @ r @ I @ X ) ) ) ) ).

% add.nat_pow_inv
thf(fact_208_add_Oint__pow__inv,axiom,
    ! [X: a,I: int] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( add_pow @ a @ b @ int @ r @ I @ ( a_inv @ a @ b @ r @ X ) )
        = ( a_inv @ a @ b @ r @ ( add_pow @ a @ b @ int @ r @ I @ X ) ) ) ) ).

% add.int_pow_inv
thf(fact_209_minus__eq,axiom,
    ! [X: a,Y: a] :
      ( ( a_minus @ a @ b @ r @ X @ Y )
      = ( add @ a @ b @ r @ X @ ( a_inv @ a @ b @ r @ Y ) ) ) ).

% minus_eq
thf(fact_210_sum__zero__eq__neg,axiom,
    ! [X: a,Y: a] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( member @ a @ Y @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( ( add @ a @ b @ r @ X @ Y )
            = ( zero @ a @ b @ r ) )
         => ( X
            = ( a_inv @ a @ b @ r @ Y ) ) ) ) ) ).

% sum_zero_eq_neg
thf(fact_211_r__neg,axiom,
    ! [X: a] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( add @ a @ b @ r @ X @ ( a_inv @ a @ b @ r @ X ) )
        = ( zero @ a @ b @ r ) ) ) ).

% r_neg
thf(fact_212_minus__equality,axiom,
    ! [Y: a,X: a] :
      ( ( ( add @ a @ b @ r @ Y @ X )
        = ( zero @ a @ b @ r ) )
     => ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
       => ( ( member @ a @ Y @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
         => ( ( a_inv @ a @ b @ r @ X )
            = Y ) ) ) ) ).

% minus_equality
thf(fact_213_l__neg,axiom,
    ! [X: a] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( add @ a @ b @ r @ ( a_inv @ a @ b @ r @ X ) @ X )
        = ( zero @ a @ b @ r ) ) ) ).

% l_neg
thf(fact_214_add_Oint__pow__diff,axiom,
    ! [X: a,N: int,M2: int] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( add_pow @ a @ b @ int @ r @ ( minus_minus @ int @ N @ M2 ) @ X )
        = ( add @ a @ b @ r @ ( add_pow @ a @ b @ int @ r @ N @ X ) @ ( a_inv @ a @ b @ r @ ( add_pow @ a @ b @ int @ r @ M2 @ X ) ) ) ) ) ).

% add.int_pow_diff
thf(fact_215_local_Ominus__minus,axiom,
    ! [X: a] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( a_inv @ a @ b @ r @ ( a_inv @ a @ b @ r @ X ) )
        = X ) ) ).

% local.minus_minus
thf(fact_216_add_Oinv__closed,axiom,
    ! [X: a] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( member @ a @ ( a_inv @ a @ b @ r @ X ) @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) ) ) ).

% add.inv_closed
thf(fact_217_local_Ominus__zero,axiom,
    ( ( a_inv @ a @ b @ r @ ( zero @ a @ b @ r ) )
    = ( zero @ a @ b @ r ) ) ).

% local.minus_zero
thf(fact_218_add_Oinv__eq__1__iff,axiom,
    ! [X: a] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( ( a_inv @ a @ b @ r @ X )
          = ( zero @ a @ b @ r ) )
        = ( X
          = ( zero @ a @ b @ r ) ) ) ) ).

% add.inv_eq_1_iff
thf(fact_219_Units__minus__one__closed,axiom,
    member @ a @ ( a_inv @ a @ b @ r @ ( one @ a @ ( ring_ext @ a @ b ) @ r ) ) @ ( units @ a @ ( ring_ext @ a @ b ) @ r ) ).

% Units_minus_one_closed
thf(fact_220_units__of__mult,axiom,
    ! [B: $tType,A: $tType,G4: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ B )] :
      ( ( mult @ A @ product_unit @ ( units_of @ A @ B @ G4 ) )
      = ( mult @ A @ B @ G4 ) ) ).

% units_of_mult
thf(fact_221_abelian__group_Oa__inv__closed,axiom,
    ! [B: $tType,A: $tType,G4: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ),X: A] :
      ( ( abelian_group @ A @ B @ G4 )
     => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ G4 ) )
       => ( member @ A @ ( a_inv @ A @ B @ G4 @ X ) @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ G4 ) ) ) ) ).

% abelian_group.a_inv_closed
thf(fact_222_abelian__group_Ominus__minus,axiom,
    ! [B: $tType,A: $tType,G4: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ),X: A] :
      ( ( abelian_group @ A @ B @ G4 )
     => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ G4 ) )
       => ( ( a_inv @ A @ B @ G4 @ ( a_inv @ A @ B @ G4 @ X ) )
          = X ) ) ) ).

% abelian_group.minus_minus
thf(fact_223_a__minus__def,axiom,
    ! [M: $tType,A: $tType] :
      ( ( a_minus @ A @ M )
      = ( ^ [R4: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ M ) ),X4: A,Y5: A] : ( add @ A @ M @ R4 @ X4 @ ( a_inv @ A @ M @ R4 @ Y5 ) ) ) ) ).

% a_minus_def
thf(fact_224_units__of__one,axiom,
    ! [B: $tType,A: $tType,G4: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ B )] :
      ( ( one @ A @ product_unit @ ( units_of @ A @ B @ G4 ) )
      = ( one @ A @ B @ G4 ) ) ).

% units_of_one
thf(fact_225_abelian__group_Ominus__add,axiom,
    ! [B: $tType,A: $tType,G4: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ),X: A,Y: A] :
      ( ( abelian_group @ A @ B @ G4 )
     => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ G4 ) )
       => ( ( member @ A @ Y @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ G4 ) )
         => ( ( a_inv @ A @ B @ G4 @ ( add @ A @ B @ G4 @ X @ Y ) )
            = ( add @ A @ B @ G4 @ ( a_inv @ A @ B @ G4 @ X ) @ ( a_inv @ A @ B @ G4 @ Y ) ) ) ) ) ) ).

% abelian_group.minus_add
thf(fact_226_abelian__group_Or__neg2,axiom,
    ! [B: $tType,A: $tType,G4: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ),X: A,Y: A] :
      ( ( abelian_group @ A @ B @ G4 )
     => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ G4 ) )
       => ( ( member @ A @ Y @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ G4 ) )
         => ( ( add @ A @ B @ G4 @ X @ ( add @ A @ B @ G4 @ ( a_inv @ A @ B @ G4 @ X ) @ Y ) )
            = Y ) ) ) ) ).

% abelian_group.r_neg2
thf(fact_227_abelian__group_Or__neg1,axiom,
    ! [B: $tType,A: $tType,G4: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ),X: A,Y: A] :
      ( ( abelian_group @ A @ B @ G4 )
     => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ G4 ) )
       => ( ( member @ A @ Y @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ G4 ) )
         => ( ( add @ A @ B @ G4 @ ( a_inv @ A @ B @ G4 @ X ) @ ( add @ A @ B @ G4 @ X @ Y ) )
            = Y ) ) ) ) ).

% abelian_group.r_neg1
thf(fact_228_abelian__group_Ominus__eq,axiom,
    ! [B: $tType,A: $tType,G4: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ),X: A,Y: A] :
      ( ( abelian_group @ A @ B @ G4 )
     => ( ( a_minus @ A @ B @ G4 @ X @ Y )
        = ( add @ A @ B @ G4 @ X @ ( a_inv @ A @ B @ G4 @ Y ) ) ) ) ).

% abelian_group.minus_eq
thf(fact_229_abelian__group_Ol__neg,axiom,
    ! [B: $tType,A: $tType,G4: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ),X: A] :
      ( ( abelian_group @ A @ B @ G4 )
     => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ G4 ) )
       => ( ( add @ A @ B @ G4 @ ( a_inv @ A @ B @ G4 @ X ) @ X )
          = ( zero @ A @ B @ G4 ) ) ) ) ).

% abelian_group.l_neg
thf(fact_230_abelian__group_Or__neg,axiom,
    ! [B: $tType,A: $tType,G4: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ),X: A] :
      ( ( abelian_group @ A @ B @ G4 )
     => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ G4 ) )
       => ( ( add @ A @ B @ G4 @ X @ ( a_inv @ A @ B @ G4 @ X ) )
          = ( zero @ A @ B @ G4 ) ) ) ) ).

% abelian_group.r_neg
thf(fact_231_abelian__group_Ominus__equality,axiom,
    ! [B: $tType,A: $tType,G4: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ),Y: A,X: A] :
      ( ( abelian_group @ A @ B @ G4 )
     => ( ( ( add @ A @ B @ G4 @ Y @ X )
          = ( zero @ A @ B @ G4 ) )
       => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ G4 ) )
         => ( ( member @ A @ Y @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ G4 ) )
           => ( ( a_inv @ A @ B @ G4 @ X )
              = Y ) ) ) ) ) ).

% abelian_group.minus_equality
thf(fact_232_abelian__group_Oinv__add,axiom,
    ! [B: $tType,A: $tType,G4: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ),A2: A,B2: A] :
      ( ( abelian_group @ A @ B @ G4 )
     => ( ( member @ A @ A2 @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ G4 ) )
       => ( ( member @ A @ B2 @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ G4 ) )
         => ( ( a_inv @ A @ B @ G4 @ ( add @ A @ B @ G4 @ A2 @ B2 ) )
            = ( a_minus @ A @ B @ G4 @ ( a_inv @ A @ B @ G4 @ A2 ) @ B2 ) ) ) ) ) ).

% abelian_group.inv_add
thf(fact_233_abelian__group_Oa__transpose__inv,axiom,
    ! [B: $tType,A: $tType,G4: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ),X: A,Y: A,Z2: A] :
      ( ( abelian_group @ A @ B @ G4 )
     => ( ( ( add @ A @ B @ G4 @ X @ Y )
          = Z2 )
       => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ G4 ) )
         => ( ( member @ A @ Y @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ G4 ) )
           => ( ( member @ A @ Z2 @ ( partial_carrier @ A @ ( monoid_ext @ A @ ( ring_ext @ A @ B ) ) @ G4 ) )
             => ( ( add @ A @ B @ G4 @ ( a_inv @ A @ B @ G4 @ X ) @ Z2 )
                = Y ) ) ) ) ) ) ).

% abelian_group.a_transpose_inv
thf(fact_234_add_Oint__pow__neg,axiom,
    ! [X: a,I: int] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( add_pow @ a @ b @ int @ r @ ( uminus_uminus @ int @ I ) @ X )
        = ( a_inv @ a @ b @ r @ ( add_pow @ a @ b @ int @ r @ I @ X ) ) ) ) ).

% add.int_pow_neg
thf(fact_235_add__minus__cancel,axiom,
    ! [A: $tType] :
      ( ( group_add @ A )
     => ! [A2: A,B2: A] :
          ( ( plus_plus @ A @ A2 @ ( plus_plus @ A @ ( uminus_uminus @ A @ A2 ) @ B2 ) )
          = B2 ) ) ).

% add_minus_cancel
thf(fact_236_minus__add__cancel,axiom,
    ! [A: $tType] :
      ( ( group_add @ A )
     => ! [A2: A,B2: A] :
          ( ( plus_plus @ A @ ( uminus_uminus @ A @ A2 ) @ ( plus_plus @ A @ A2 @ B2 ) )
          = B2 ) ) ).

% minus_add_cancel
thf(fact_237_minus__add__distrib,axiom,
    ! [A: $tType] :
      ( ( ab_group_add @ A )
     => ! [A2: A,B2: A] :
          ( ( uminus_uminus @ A @ ( plus_plus @ A @ A2 @ B2 ) )
          = ( plus_plus @ A @ ( uminus_uminus @ A @ A2 ) @ ( uminus_uminus @ A @ B2 ) ) ) ) ).

% minus_add_distrib
thf(fact_238_minus__diff__eq,axiom,
    ! [A: $tType] :
      ( ( group_add @ A )
     => ! [A2: A,B2: A] :
          ( ( uminus_uminus @ A @ ( minus_minus @ A @ A2 @ B2 ) )
          = ( minus_minus @ A @ B2 @ A2 ) ) ) ).

% minus_diff_eq
thf(fact_239_diff__minus__eq__add,axiom,
    ! [A: $tType] :
      ( ( group_add @ A )
     => ! [A2: A,B2: A] :
          ( ( minus_minus @ A @ A2 @ ( uminus_uminus @ A @ B2 ) )
          = ( plus_plus @ A @ A2 @ B2 ) ) ) ).

% diff_minus_eq_add
thf(fact_240_uminus__add__conv__diff,axiom,
    ! [A: $tType] :
      ( ( ab_group_add @ A )
     => ! [A2: A,B2: A] :
          ( ( plus_plus @ A @ ( uminus_uminus @ A @ A2 ) @ B2 )
          = ( minus_minus @ A @ B2 @ A2 ) ) ) ).

% uminus_add_conv_diff
thf(fact_241_group__cancel_Osub2,axiom,
    ! [A: $tType] :
      ( ( ab_group_add @ A )
     => ! [B6: A,K: A,B2: A,A2: A] :
          ( ( B6
            = ( plus_plus @ A @ K @ B2 ) )
         => ( ( minus_minus @ A @ A2 @ B6 )
            = ( plus_plus @ A @ ( uminus_uminus @ A @ K ) @ ( minus_minus @ A @ A2 @ B2 ) ) ) ) ) ).

% group_cancel.sub2
thf(fact_242_diff__conv__add__uminus,axiom,
    ! [A: $tType] :
      ( ( group_add @ A )
     => ( ( minus_minus @ A )
        = ( ^ [A6: A,B5: A] : ( plus_plus @ A @ A6 @ ( uminus_uminus @ A @ B5 ) ) ) ) ) ).

% diff_conv_add_uminus
thf(fact_243_ab__group__add__class_Oab__diff__conv__add__uminus,axiom,
    ! [A: $tType] :
      ( ( ab_group_add @ A )
     => ( ( minus_minus @ A )
        = ( ^ [A6: A,B5: A] : ( plus_plus @ A @ A6 @ ( uminus_uminus @ A @ B5 ) ) ) ) ) ).

% ab_group_add_class.ab_diff_conv_add_uminus
thf(fact_244_group__cancel_Oneg1,axiom,
    ! [A: $tType] :
      ( ( ab_group_add @ A )
     => ! [A4: A,K: A,A2: A] :
          ( ( A4
            = ( plus_plus @ A @ K @ A2 ) )
         => ( ( uminus_uminus @ A @ A4 )
            = ( plus_plus @ A @ ( uminus_uminus @ A @ K ) @ ( uminus_uminus @ A @ A2 ) ) ) ) ) ).

% group_cancel.neg1
thf(fact_245_add_Oinverse__distrib__swap,axiom,
    ! [A: $tType] :
      ( ( group_add @ A )
     => ! [A2: A,B2: A] :
          ( ( uminus_uminus @ A @ ( plus_plus @ A @ A2 @ B2 ) )
          = ( plus_plus @ A @ ( uminus_uminus @ A @ B2 ) @ ( uminus_uminus @ A @ A2 ) ) ) ) ).

% add.inverse_distrib_swap
thf(fact_246_minus__diff__commute,axiom,
    ! [A: $tType] :
      ( ( ab_group_add @ A )
     => ! [B2: A,A2: A] :
          ( ( minus_minus @ A @ ( uminus_uminus @ A @ B2 ) @ A2 )
          = ( minus_minus @ A @ ( uminus_uminus @ A @ A2 ) @ B2 ) ) ) ).

% minus_diff_commute
thf(fact_247_add_Oint__pow__neg__int,axiom,
    ! [X: a,N: nat] :
      ( ( member @ a @ X @ ( partial_carrier @ a @ ( monoid_ext @ a @ ( ring_ext @ a @ b ) ) @ r ) )
     => ( ( add_pow @ a @ b @ int @ r @ ( uminus_uminus @ int @ ( semiring_1_of_nat @ int @ N ) ) @ X )
        = ( a_inv @ a @ b @ r @ ( add_pow @ a @ b @ nat @ r @ N @ X ) ) ) ) ).

% add.int_pow_neg_int
thf(fact_248_units__comm__group,axiom,
    comm_group @ a @ product_unit @ ( units_of @ a @ ( ring_ext @ a @ b ) @ r ) ).

% units_comm_group
thf(fact_249_of__nat__eq__iff,axiom,
    ! [A: $tType] :
      ( ( semiring_char_0 @ A )
     => ! [M2: nat,N: nat] :
          ( ( ( semiring_1_of_nat @ A @ M2 )
            = ( semiring_1_of_nat @ A @ N ) )
          = ( M2 = N ) ) ) ).

% of_nat_eq_iff
thf(fact_250_of__nat__add,axiom,
    ! [A: $tType] :
      ( ( semiring_1 @ A )
     => ! [M2: nat,N: nat] :
          ( ( semiring_1_of_nat @ A @ ( plus_plus @ nat @ M2 @ N ) )
          = ( plus_plus @ A @ ( semiring_1_of_nat @ A @ M2 ) @ ( semiring_1_of_nat @ A @ N ) ) ) ) ).

% of_nat_add
thf(fact_251_comm__groupE_I4_J,axiom,
    ! [B: $tType,A: $tType,G4: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ B ),X: A,Y: A] :
      ( ( comm_group @ A @ B @ G4 )
     => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ B ) @ G4 ) )
       => ( ( member @ A @ Y @ ( partial_carrier @ A @ ( monoid_ext @ A @ B ) @ G4 ) )
         => ( ( mult @ A @ B @ G4 @ X @ Y )
            = ( mult @ A @ B @ G4 @ Y @ X ) ) ) ) ) ).

% comm_groupE(4)
thf(fact_252_comm__groupE_I3_J,axiom,
    ! [B: $tType,A: $tType,G4: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ B ),X: A,Y: A,Z2: A] :
      ( ( comm_group @ A @ B @ G4 )
     => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ B ) @ G4 ) )
       => ( ( member @ A @ Y @ ( partial_carrier @ A @ ( monoid_ext @ A @ B ) @ G4 ) )
         => ( ( member @ A @ Z2 @ ( partial_carrier @ A @ ( monoid_ext @ A @ B ) @ G4 ) )
           => ( ( mult @ A @ B @ G4 @ ( mult @ A @ B @ G4 @ X @ Y ) @ Z2 )
              = ( mult @ A @ B @ G4 @ X @ ( mult @ A @ B @ G4 @ Y @ Z2 ) ) ) ) ) ) ) ).

% comm_groupE(3)
thf(fact_253_comm__groupE_I1_J,axiom,
    ! [B: $tType,A: $tType,G4: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ B ),X: A,Y: A] :
      ( ( comm_group @ A @ B @ G4 )
     => ( ( member @ A @ X @ ( partial_carrier @ A @ ( monoid_ext @ A @ B ) @ G4 ) )
       => ( ( member @ A @ Y @ ( partial_carrier @ A @ ( monoid_ext @ A @ B ) @ G4 ) )
         => ( member @ A @ ( mult @ A @ B @ G4 @ X @ Y ) @ ( partial_carrier @ A @ ( monoid_ext @ A @ B ) @ G4 ) ) ) ) ) ).

% comm_groupE(1)
thf(fact_254_comm__groupE_I2_J,axiom,
    ! [B: $tType,A: $tType,G4: partia1265057091ct_ext @ A @ ( monoid_ext @ A @ B )] :
      ( ( comm_group @ A @ B @ G4 )
     => ( member @ A @ ( one @ A @ B @ G4 ) @ ( partial_carrier @ A @ ( monoid_ext @ A @ B ) @ G4 ) ) ) ).

% comm_groupE(2)

% Type constructors (20)
thf(tcon_Int_Oint___Groups_Oordered__ab__semigroup__add,axiom,
    ordere779506340up_add @ int ).

thf(tcon_Int_Oint___Groups_Ocancel__ab__semigroup__add,axiom,
    cancel146912293up_add @ int ).

thf(tcon_Int_Oint___Groups_Ocancel__comm__monoid__add,axiom,
    cancel1352612707id_add @ int ).

thf(tcon_Int_Oint___Groups_Ocancel__semigroup__add,axiom,
    cancel_semigroup_add @ int ).

thf(tcon_Int_Oint___Groups_Oab__semigroup__add,axiom,
    ab_semigroup_add @ int ).

thf(tcon_Int_Oint___Groups_Ocomm__monoid__add,axiom,
    comm_monoid_add @ int ).

thf(tcon_Int_Oint___Groups_Osemigroup__add,axiom,
    semigroup_add @ int ).

thf(tcon_Int_Oint___Nat_Osemiring__char__0,axiom,
    semiring_char_0 @ int ).

thf(tcon_Int_Oint___Groups_Oab__group__add,axiom,
    ab_group_add @ int ).

thf(tcon_Int_Oint___Rings_Osemiring__1,axiom,
    semiring_1 @ int ).

thf(tcon_Int_Oint___Groups_Ogroup__add,axiom,
    group_add @ int ).

thf(tcon_Nat_Onat___Groups_Oordered__ab__semigroup__add_1,axiom,
    ordere779506340up_add @ nat ).

thf(tcon_Nat_Onat___Groups_Ocancel__ab__semigroup__add_2,axiom,
    cancel146912293up_add @ nat ).

thf(tcon_Nat_Onat___Groups_Ocancel__comm__monoid__add_3,axiom,
    cancel1352612707id_add @ nat ).

thf(tcon_Nat_Onat___Groups_Ocancel__semigroup__add_4,axiom,
    cancel_semigroup_add @ nat ).

thf(tcon_Nat_Onat___Groups_Oab__semigroup__add_5,axiom,
    ab_semigroup_add @ nat ).

thf(tcon_Nat_Onat___Groups_Ocomm__monoid__add_6,axiom,
    comm_monoid_add @ nat ).

thf(tcon_Nat_Onat___Groups_Osemigroup__add_7,axiom,
    semigroup_add @ nat ).

thf(tcon_Nat_Onat___Nat_Osemiring__char__0_8,axiom,
    semiring_char_0 @ nat ).

thf(tcon_Nat_Onat___Rings_Osemiring__1_9,axiom,
    semiring_1 @ nat ).

% Conjectures (1)
thf(conj_0,conjecture,
    member @ ( product_prod @ a @ a ) @ ( product_Pair @ a @ a @ ( add @ a @ b @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s2 @ s3 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ r2 @ r4 ) ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ s3 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ r3 @ r4 ) ) ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s @ s3 ) @ ( mult @ a @ ( ring_ext @ a @ b ) @ r @ s2 @ s3 ) ) ) @ ( partial_carrier @ ( product_prod @ a @ a ) @ ( eq_eq_object_ext @ ( product_prod @ a @ a ) @ product_unit ) @ rel ) ).

%------------------------------------------------------------------------------